Ali*_*kar 0 iphone objective-c ios
我正在运行此for循环,如果满足条件,则删除indexValue.我正在比较两个NSDate对象,由于某种原因它不起作用.根据日志,NSDate对象完全匹配.
请指导我.
码
for (int u=0 ; u<arraywithDateAddedKeyss.count ; u++)
{
NSLog(@"arraywithDateAddedKeyss: %@ == Array 5: %@",arraywithDateAddedKeyss[u],oldArray[5]);
if (arraywithDateAddedKeyss[u] == oldArray[5])
{
[arraywithDateAddedKeyss removeObjectAtIndex:u];
[userDefaults setObject:arraywithDateAddedKeyss forKey:@"arraywithReminderDateKeys"];
[userDefaults synchronize];
NSLog(@"Object Removed from array1");
}
}
Run Code Online (Sandbox Code Playgroud)
NSLog数据
arraywithDateAddedKeyss: 2014-02-01 09:01:20 +0000 == Array 5: 2014-02-01 09:01:20 +0000
Run Code Online (Sandbox Code Playgroud)
您无法使用比较两个日期==.
==比较指针相等性,这意味着您正在检查对象标识而不是相等.(值得一读的主题是:http://nshipster.com/equality/)
使用isEqualToDate:的方法NSDate为这样的目的
NSDate *date1 = arraywithDateAddedKeyss[u];
NSDate *date2 = oldArray[5];
if ([date1 isEqualToDate:date2]) {
...
}
Run Code Online (Sandbox Code Playgroud)
有关比较NSDate对象的其他方法,可以参考:如何比较Objective-C中的两个日期
| 归档时间: |
|
| 查看次数: |
610 次 |
| 最近记录: |