2011-11-21 56 views
0

分配一個int,NSNumber的和NSUInteger到陣列計數失敗...分配的數組數爲int,NSNumber的或NSUInteger失敗

這是我的代碼行

int diamondCount = [diamonds count]; 

,其中鑽石是一個NSArray

我建立的應用程序,它在該行

所以我看着NSArray的計數方法拋出EXC_BAD_ACESS,發現它返回一個nsuinteger

,所以我做:

 NSUInteger diamondCount = [diamonds count]; 

仍然把我EXC_BAD_ACCESS因此在不得已我賦予它與numberWithInteger一個NSNumber:

它平息崩潰....任何想法?

回答

3

diamonds沒有指向真實(有效)的NSArray。檢查其初始化。

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*/ 
+0

這並沒有真正回答這個問題。儘管這是一個有趣的練習,你可以這樣介紹。 – jv42