Цель-C: проверка неназначенной (неопределенной) переменной? - PullRequest
2 голосов
/ 06 января 2010

Если я создал эти две переменные:

NSDecimalNumber *myNum;
NSString *myString;

как мне позже проверить, был ли им присвоен объект или нет?

Спасибо

Ответы [ 2 ]

4 голосов
/ 06 января 2010

Если их нет в классе, вы должны присвоить nil в качестве значения по умолчанию, если хотите использовать это. В классе это будет автоматически.

Чтобы проверить, связан ли с ними объект, сравните их с nil: if (myNum != nil) // myNum is an object.

Также обратите внимание, что когда объект освобождается, ссылки на него все еще существуют, поэтому, когда вы освобождаете право собственности на эти объекты, целесообразно установить для них значение nil: myNum = nil;

1 голос
/ 06 января 2010

Установите значение nil для начала:

NSDecimalNumber *myNum = nil;

Тогда используйте:

if (myNum == nil) { ... you haven't set it yet ... }

nil - это способ ObjC создавать нулевые объекты (те, которые не относятся к реальному объекту).

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