将int,NSNumber和NSUInteger分配给数组计数失败...
这是我的代码行
int diamondCount = [diamonds count];
钻石是一种纳米阵列
我构建了应用程序并在该行上抛出了EXC_BAD_ACESS
所以我查看了NSArray计数方法,发现它返回一个nsuinteger
所以我做了:
NSUInteger diamondCount = [diamonds count];
仍然把EXC_BAD_ACCESS扔给我,所以我最后将它分配给一个带有numberWithInteger的nsnumber:
它平静下来......任何想法?答案 0 :(得分:3)
diamonds
并未指向真实(且有效)的NSArray。检查它的初始化。
答案 1 :(得分:0)
试试这个:
NSArray *myArray;
NSDate *aDate = [NSDate distantFuture];
NSValue *aValue = [NSNumber numberWithInt:5];
NSString *aString = @"a string";
myArray = [NSArray arrayWithObjects:aDate, aValue, aString, nil];
int i = [myArray count];
NSLog(@"%d",i);
NSInteger j = [myArray count];
NSLog(@"%d",j);
NSNumber *k = [myArray count];
NSLog(@"%d",k);
/*output
2011-11-21 17:01:48.272 test[48840:1303] 3
2011-11-21 17:01:48.272 test[48840:1303] 3
2011-11-21 17:01:48.273 test[48840:1303] 3*/