0
如果用戶從可能的活動列表中連續選擇相同的項目,但我錯過了某些內容,因爲if語句中我剛添加了條件「if」語句來將代碼設置爲「未定義的活動」似乎沒有抓住重複的水龍頭。這裏是有問題的代碼:iOS如果條件似乎不按預期評估。愚蠢的錯誤或有趣的事情?
-(void) refreshData
{
currentActivity = [TimedActivity MR_findFirstOrderedByAttribute:@"timedActivityTapped" ascending:NO];
NSArray *timedActivityRecords = [TimedActivity MR_findAllSortedBy:@"timedActivityTapped" ascending:YES];
previousActivity = [timedActivityRecords objectAtIndex:timedActivityRecords.count-2];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat: @"MM/dd/yyyy hh:mm:ss"];
self.timeStampLabel.text = [dateFormat stringFromDate:currentActivity.timedActivityTapped];
self.previousActivityLabel.text = previousActivity.timedActivityName;
[NSTimer scheduledTimerWithTimeInterval:.5
target:self
selector:@selector(updateTime)
userInfo:nil
repeats:YES];
// This if statement should evaluate TRUE if the user taps the same activity consecutively
// but control is skipping it as if it is FALSE
if (currentActivity.timedActivityName == previousActivity.timedActivityName)
{
self.currentActivityLabel.text = @"Undefined activity";
}
else
{
self.currentActivityLabel.text = currentActivity.timedActivityName;
}
[self previousActivityDuration];
}
這裏的活動列表截圖:
而這裏的報表視圖的屏幕截圖,顯示該活動目前正在計時,當它開始,它已經運行了多長時間,該活動先前選擇,而這一活動多久就跑:
正如您所看到的,即使連續兩次選擇「彈吉他」,if語句也無法捕捉它,並將「未定義的活動」替代文本放入「正在進行」標籤中。
我正在使用核心數據和MagicalRecord框架。
有人可以告訴我我要去哪裏嗎?我是一個被承認的nooby,但是直到我遇到這種情況爲止都非常好。
非常感謝您的幫助!
完美!謝謝!我可以看到我有更多的工作要做,因爲這只是重命名顯示中的時間間隔。我還必須刪除底層對象,並用具有正確命名屬性的新對象替換它。非常感謝再次!我喜歡你,但我仍然低於水線。 – rattletrap99