iOS if conditional 似乎没有按预期进行评估。愚蠢的错误或有趣的事情?

标签 ios if-statement magicalrecord

我刚刚在我的代码中添加了条件“if”语句,以便在用户从可能的事件列表中连续选择相同项目时将标签设置为“未定义的事件”,但我遗漏了一些东西,因为 if语句似乎没有捕捉到重复的点击。这是有问题的代码:

-(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];
}

这是事件列表的屏幕截图:

enter image description here

这是报告 View 的屏幕截图,显示了当前正在计时的事件、开始时间、运行时间、先前选择的事件以及该事件运行了多长时间:

enter image description here

如您所见,即使连续两次选择“弹吉他”,if 语句也未能捕获它并将“未定义的事件”替代文本放入“进行中”标签中。

我正在使用 Core Data 和 MagicalRecord 框架。

有人可以告诉我哪里出错了吗?我是一个公认的菜鸟,但到目前为止一直很好,直到我遇到这个问题。

非常感谢您的帮助!

最佳答案

尝试将 if 语句更改为

if ([currentActivity.timedActivityName isEqualToString:previousActivity.timedActivityName])
{
    self.currentActivityLabel.text = @"Undefined activity";
}
else
{
    self.currentActivityLabel.text = currentActivity.timedActivityName;
}

关于iOS if conditional 似乎没有按预期进行评估。愚蠢的错误或有趣的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20989420/

相关文章:

ios - [__NSArrayM intValue] : unrecognized selector sent to instance

ios - 神奇的记录一对多

ios - 避免在 iOS 中重复取消引用

java - 如何创建依赖于一个语句的条件

iphone - 找不到iPhone模拟器的SQLite数据库:使用魔术记录

python - 如果出现异常

bash - 如何在 Bash 中测试命令的非零退出状态?

ios - 在 iOS 中创建包含图像数组的单页 pdf 文件?

iOS 异常回溯 - 应用程序条目未符号化

iphone - 将图像放入mapView注释中