2011-01-27 2 views
0

Предположим, что если я хочу удалить значение, сохраненное в переменной NSString, я присвою ему nil. Это возможно. Но если я хочу удалить переменную даты, которая уже содержит некоторые значения, что мне делать?Можно ли присвоить переменную NSDate нулю?

ответ

5

nil - это просто объект-заполнитель. Вы можете назначить ему объект Objective-C.

Итак, вы можете назначить переменную типа NSDate * на nil.

Если у вас есть право собственности на объект, вы должны отправить сообщение -release перед установкой переменной в nil, иначе память, на которую указывает переменная, будет просочиться.

+0

Спасибо ... еще одно сомнение. В строке мы можем назначить пустой символ строковой переменной. Подобно NSString * s = @ ""; Для переменной NSDate, как мы можем назначить пустое значение? –

+0

@ Rajkanth '[NSDate date]' будет достаточно. –

+0

@ Rajkanth Но зачем вам это делать? –

3

вы можете ... но желательно, чтобы выпустить его, если он не autorelease объект ..

т.е.

[dateObject release]; // Only if it is not autorelease object. 
dateObject = nil; 
+0

Если мы выпустим переменную, она будет удалена из памяти. Тогда как мы можем назначить ему ноль? –

+0

@ Rajkanth Просто потому, что память освобождена, не означает, что ссылка указателя еще не существует. –

+0

Большое вам спасибо –

Смежные вопросы