Назначение подсчета массивов для int, NSNumber или NSUInteger завершается неудачно - PullRequest
0 голосов
/ 21 ноября 2011

Не удается назначить int, NSNumber и NSUInteger для подсчета массивов ...

это моя строка кода

 int diamondCount = [diamonds count];

, где diamonds - это nsarray

Я построил приложение, и оно бросило EXC_BAD_ACESS в эту строку

Так что я посмотрел на метод подсчета NSArray и обнаружил, что он возвращает nsuinteger

Итак, я сделал:

     NSUInteger diamondCount = [diamonds count]; 

это все еще бросало меня EXC_BAD_ACCESS, так что в крайнем случае я назначил его nsnumber с номеромWithInteger:

он по-прежнему рухнул .... какие-нибудь мысли?

Ответы [ 2 ]

3 голосов
/ 21 ноября 2011

diamonds не указывает на реальный (и действительный) NSArray. Проверьте его инициализацию.

0 голосов
/ 21 ноября 2011

Попробуйте это:

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*/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...