@Scorpiored88

Почему не получается задать новое значения переменной int?

Всем доброго!
Я совсем новичок в Objective-c, да й в C -ных язиках в целом. Кодил только на javascript.
Столкнулся с проблемой int .
Есть у меня проперти
@property (assign,nonatomic) int counter;
В самом коде имплементации пытаюсь назначить ей длину масива:
_counter = [_myArray count];
но x-code ругается :( Также не работают и следуищие варианты :
_counter = [NSNumber numberWithInteger:[_myArray count]];
_counter = [[[_myArray count]] intValue];

Подскажите как правильно это сделать
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 2
ManWithBear
@ManWithBear
Swift Adept, Prague
Как ругается? Скопируйте ошибку.

если
_counter = [[_myArray count] intValue];
то bad receiver type nsuinteger aka int

Потому что intValue - метод, которого нет у простого типа nsuinteger
Лечится 2мя способами
1. Заведомо указать тип:
self.counter = (int)[self.myArray count];
2. Не использовать устаревший int, а использовать NSInteger, в конкретно вашем примере NSUInteger
@property (nonatomic) NSUInteger counter;

UPD. Личное мнение: если только начинаете, то начинайте со swift'а. По нему сейчас больше информации и он актуальнее.
Ответ написан
ThePyzhov
@ThePyzhov
iOS Ninja
Я совсем новичок в Objective-c, да й в C -ных язиках в целом. Кодил только на javascript

Не с того вы начали, ой не с того...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы