Тип или свойство (NSUInteger (иначе unsigned int)) не соответствует типу ivar (int)
Я хочу объявить NSInteger
переменная в моем ViewController, но я получаю ошибку.
В моем ViewController.h у меня есть
@interface MainViewController : UIViewController{
NSInteger currentSection;
//Other stuff
}
@property (assign,nonatomic) NSUInteger currentSection;
@end
и в моем ViewController.m у меня есть:
@implementation MainViewController
//Other stuff
@synthesize currentSection;
Но я получаю эту ошибку:
Тип свойства currentSection (NSUinteger (иначе unsigned int)) не соответствует типу ivar currentSection (int)
Почему я получаю эту ошибку с помощью одной простой инструкции?
Я использую Xcode 4.4 с ARC.
1 ответ
Решение
Вы просите компилятор синтезировать NSUInteger
недвижимость с NSInteger
Ивар. Вы должны решить, какой тип свойства должен быть, и соответственно адаптировать тип ивара.
Обратите внимание, что целое число без знака не эквивалентно (неявно подписанному) целому числу. Приведение одного к другому может дать вам неожиданные результаты.