2014-04-19 87 views
-1

我試圖使用我已經放在同一個類上的數據,但使用了不同的方法(我相信這是術語),但由於某些奇怪的原因,我似乎無法訪問這些數據。我可以這樣做,當我把它放在一起(在計時器中),但會消耗TONNE的內存,如果它不會反覆設置這些數據。無論如何,這是到目前爲止我的代碼:從另一種方法獲得價值

/////////////////////////////////SET TIME/DAYS/////////////////// 
    currentTime = [NSDate date]; 
    NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init]; 
    [timeFormatter setTimeStyle:NSDateFormatterShortStyle]; 
    self.timeNow.text = [timeFormatter stringFromDate:currentTime]; 

    NSDate *lesson1Start = [timeFormatter dateFromString:@"8:40"]; 
    NSDate *lesson2Start = [timeFormatter dateFromString:@"9:35"]; 
    NSDate *recessStart = [timeFormatter dateFromString:@"10:30"]; 
    NSDate *caregroupStart = [timeFormatter dateFromString:@"10:50"]; 
    NSDate *lesson3Start = [timeFormatter dateFromString:@"11:00"]; 
    NSDate *lesson4Start = [timeFormatter dateFromString:@"11:55"]; 
    NSDate *lunchStart = [timeFormatter dateFromString:@"12:50"]; 
    NSDate *lesson5Start = [timeFormatter dateFromString:@"1:30"]; 
    NSDate *lesson6Start = [timeFormatter dateFromString:@"2:20"]; 
    NSDate *endDay = [timeFormatter dateFromString:@"3:10"]; 



    } 
    //////////////////////////END SET TIMES///////////////////////// 


- (void)updateTime { 

    NSString *mondayDay = (@"Monday"); 
    NSString *tuesdayDay = (@"Tuesday"); 
    NSString *wednesdayDay = (@"Wednesday"); 
    NSString *thursdayDay = (@"Thursday"); 
    NSString *fridayDay = (@"Friday"); 

    [updateTimer invalidate]; 
    updateTimer = nil; 

    currentTime = [NSDate date]; 
    NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init]; 
    [timeFormatter setTimeStyle:NSDateFormatterShortStyle]; 
    self.timeNow.text = [timeFormatter stringFromDate:currentTime]; 

    updateTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 
          target:self 
          selector:@selector(updateTime) 
          userInfo:Nil repeats:YES]; 

    ///////Check day/time & update lesson///// 

    if (self.dayNow.text == mondayDay && self.timeNow.text == lesson1Start) { 
     NSLog(@""); 
    } 

正如你所看到的,我不能用「lesson1Start」,因爲它是不是在- (void)updateTime

如果我將它捆綁在一起,它會一直反覆設置這些數據,因爲它被放置在計時器中,這樣會好嗎?

PS:我想檢查課程是否開始,如果時間是課程開始,那麼課程將出現。在這種情況下,我只有NSLog(@"")

謝謝!

+2

你有沒有聽說過實例變量? –

+2

你不能使用'=='比較字符串。你需要使用'isEqualToString:'。 – rmaddy

+1

我覺得很難注意到在輸出'NSLog(@「」);'。它會更好'NSLog(@「現在是星期一,第一課開始」);' –

回答

0

你可以這樣做... 讓我們考慮你的代碼是在類ClassRoom中;

@interface ClassRoom 
{ 
NSArray *scheduleArray; //instance variable 
} 

可以舉行//你必須分配和初始化它的實現文件

NSDate *lesson1Start = [timeFormatter dateFromString:@"8:40"]; 
NSDate *lesson2Start = [timeFormatter dateFromString:@"9:35"]; 
NSDate *recessStart = [timeFormatter dateFromString:@"10:30"]; 
NSDate *caregroupStart = [timeFormatter dateFromString:@"10:50"]; 
NSDate *lesson3Start = [timeFormatter dateFromString:@"11:00"]; 
NSDate *lesson4Start = [timeFormatter dateFromString:@"11:55"]; 
NSDate *lunchStart = [timeFormatter dateFromString:@"12:50"]; 
NSDate *lesson5Start = [timeFormatter dateFromString:@"1:30"]; 
NSDate *lesson6Start = [timeFormatter dateFromString:@"2:20"]; 
NSDate *endDay = [timeFormatter dateFromString:@"3:10"]; 

添加所有上述日期在scheduleArray創建NSArray *scheduleArray;。(希望你知道如何在NSArray中添加項目。)

現在你可以寫錄入爲

- (void)updateTime { 

     NSString *mondayDay = (@"Monday"); 
     NSString *tuesdayDay = (@"Tuesday"); 
     NSString *wednesdayDay = (@"Wednesday"); 
     NSString *thursdayDay = (@"Thursday"); 
     NSString *fridayDay = (@"Friday"); 

     [updateTimer invalidate]; 
     updateTimer = nil; 

     currentTime = [NSDate date]; 
     NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init]; 
     [timeFormatter setTimeStyle:NSDateFormatterShortStyle]; 
     self.timeNow.text = [timeFormatter stringFromDate:currentTime]; 

     updateTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 
           target:self 
           selector:@selector(updateTime) 
           userInfo:Nil repeats:YES]; 

     ///////Check day/time & update lesson///// 

for(NSDate * date in scheduleArray){ 

    here you will get above saved dates use them to your need. 
} 

} 

希望能幫助到你 !

相關問題