我,如果我做错了什么这个if语句woundering ...如果不indexpath工作正常声明
我compairing 2个indexPaths,老一个和当前选中的一个,如果他们不相等,我想做一些其他明智的继续,因为正常..
但是,如果统计总是被访问,即使他们是!= ..我做错了什么..我知道你可以检查IsEqual:是这里的东西对于!=?
继承人我的代码和输出
NSLog(@"%@", modelIndexPath);
NSLog(@"%@", oldCheckedIndexPath);
NSLog(@"%@", indexPath);
if (modelIndexPath != indexPath) {
NSLog(@"Not Equal");
NSLog(@" ");
}
2012-01-19 16:09:06.521 Code[9907:207] (null)
2012-01-19 16:09:06.522 Code[9907:207] (null)
2012-01-19 16:09:06.523 Code[9907:207] <NSIndexPath 0xc2993e0> 2 indexes [9, 0]
2012-01-19 16:09:06.524 Code[9907:207] Not Equal
2012-01-19 16:09:06.525 Code[9907:207]
2012-01-19 16:09:17.921 Code[9907:207] <NSIndexPath 0xc2993e0> 2 indexes [9, 0]
2012-01-19 16:09:17.922 Code[9907:207] <NSIndexPath 0xc2993e0> 2 indexes [9, 0]
2012-01-19 16:09:17.923 Code[9907:207] <NSIndexPath 0xc5b0c50> 2 indexes [9, 0]
2012-01-19 16:09:17.924 Code[9907:207] Not Equal
2012-01-19 16:09:17.925 Code[9907:207]
2012-01-19 16:09:29.489 Code[9907:207] <NSIndexPath 0xc5b0c50> 2 indexes [9, 0]
2012-01-19 16:09:29.490 Code[9907:207] <NSIndexPath 0xc5b0c50> 2 indexes [9, 0]
2012-01-19 16:09:29.491 Code[9907:207] <NSIndexPath 0xc7886c0> 2 indexes [9, 2]
2012-01-19 16:09:29.491 Code[9907:207] Not Equal
2012-01-19 16:09:29.492 Code[9907:207]
2012-01-19 16:09:34.945 Code[9907:207] <NSIndexPath 0xc7886c0> 2 indexes [9, 2]
2012-01-19 16:09:34.946 Code[9907:207] <NSIndexPath 0xc7886c0> 2 indexes [9, 2]
2012-01-19 16:09:34.946 Code[9907:207] <NSIndexPath 0xc89e780> 2 indexes [9, 2]
2012-01-19 16:09:34.947 Code[9907:207] Not Equal
2012-01-19 16:09:34.948 Code[9907:207]
2012-01-19 16:09:37.601 Code[9907:207] <NSIndexPath 0xc89e780> 2 indexes [9, 2]
2012-01-19 16:09:37.602 Code[9907:207] <NSIndexPath 0xc89e780> 2 indexes [9, 2]
2012-01-19 16:09:37.602 Code[9907:207] <NSIndexPath 0xc94e480> 2 indexes [9, 1]
2012-01-19 16:09:37.603 Code[9907:207] Not Equal
2012-01-19 16:09:37.604 Code[9907:207]
更新:
这里是事务与你们
NSLog(@"%@", modelIndexPath);
NSLog(@"%@", oldCheckedIndexPath);
NSLog(@"%@", indexPath);
if ([modelIndexPath isEqual:indexPath]) NSLog(@"hurray!");
if (![modelIndexPath isEqual:indexPath]) NSLog(@"bummer");
NSLog(@" ");
2012-01-19 16:41:54.853 Code[11071:207] (null)
2012-01-19 16:41:54.854 Code[11071:207] (null)
2012-01-19 16:41:54.855 Code[11071:207] <NSIndexPath 0xc21f9a0> 2 indexes [9, 0]
2012-01-19 16:41:54.856 Code[11071:207] bummer
2012-01-19 16:41:54.856 Code[11071:207]
2012-01-19 16:41:59.637 Code[11071:207] <NSIndexPath 0xc21f9a0> 2 indexes [9, 0]
2012-01-19 16:41:59.637 Code[11071:207] <NSIndexPath 0xc21f9a0> 2 indexes [9, 0]
2012-01-19 16:41:59.638 Code[11071:207] <NSIndexPath 0x6a73e10> 2 indexes [9, 0]
2012-01-19 16:41:59.639 Code[11071:207] hurray!
2012-01-19 16:41:59.639 Code[11071:207]
2012-01-19 16:42:05.492 Code[11071:207] <NSIndexPath 0x6a73e10> 2 indexes [9, 0]
2012-01-19 16:42:05.493 Code[11071:207] <NSIndexPath 0x6a73e10> 2 indexes [9, 0]
2012-01-19 16:42:05.494 Code[11071:207] <NSIndexPath 0x6aae9d0> 2 indexes [9, 0]
2012-01-19 16:42:05.494 Code[11071:207] hurray!
2012-01-19 16:42:05.495 Code[11071:207]
2012-01-19 16:42:10.901 Code[11071:207] <NSIndexPath 0x6aae9d0> 2 indexes [9, 0]
2012-01-19 16:42:10.902 Code[11071:207] <NSIndexPath 0x6aae9d0> 2 indexes [9, 0]
2012-01-19 16:42:10.902 Code[11071:207] <NSIndexPath 0xc625470> 2 indexes [9, 2]
2012-01-19 16:42:10.903 Code[11071:207] bummer
为了清楚起见,可以删除行打印出'oldCheckedIndexPath ',因为它与你的陈述无关。然后你会很快看到它现在正在工作。 – mvds