NSNumber: число с n initWith - PullRequest
       2

NSNumber: число с n initWith

1 голос
/ 31 августа 2011

Есть ли разница

[NSNumber numberWithInteger:]

[NSNumber initWithIneger:]?

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

Число, возвращаемое +numberWithInteger:, автоматически высвобождается;тот, который возвращается -initWithInteger:, не является.(Кроме того, вам нужно +alloc NSNumber перед отправкой -initWithInteger:, в то время как вы не делаете этого с +numberWithInteger: '.)

NSNumber *foo = [[NSNumber alloc] initWithInteger:7]; // you must release foo when done
NSNumber *bar = [NSNumber numberWithInteger:7];       // bar is autoreleased
0 голосов
/ 31 августа 2011

initWithIneger: начинается с «init», поэтому вам нужно освободить объект, который возвращает этот метод.

numberWithInteger: не начинается с «init», «new» или «alloc», поэтому возвращаемый объект автоматически высвобождается. Вам не нужно выпускать его. Если вы хотите сохранить его для последующего использования, вам нужно сохранить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...