В Objective-C 2.0 Я присвоение значения свойства NSNumber:Является ли @int сокращенным безопасным в Objective-C?
myObject.myProperty = 5;
Компилятор говорит мне:
неявное преобразование из 'Int' в 'NSNumber *' отвергается с ARC
Так я думал, что произойдет, если я делаю это:
myObject.myProperty = @5;
Проверка свойства в отладчике показывает:
_myProperty = (__NSCFNumber *) (int)5
Это делает компилятор счастливым и ничего плохого не кажется, случается, но я действительно не понимаю, что происходит.
Что именно делает эта стенография, и это безопасно? Что такое NSCFNumber? Я не вижу его в документах.
дубликат [Что это значит, когда вы ставите @ перед целым числом в Objective-C?] (Http://stackoverflow.com/questions/17629874/what-does-it-mean-when-you-put -an-прежде, чем-ан-целое-в-Objective-C) –