ИЛИ-строки, чтобы избежать нуля в цели C - PullRequest
0 голосов
/ 22 марта 2011

Существует ли короткий синтаксис, позволяющий избежать передачи ноль NSString?

Я хочу избежать этого:

if(!str)
   str = @"";
[obj someFunc:str];

Вот что я бы хотел бы сделать:

[obj someFunc:(str || @"")]

Но Objective-C не допустит этого.

1 Ответ

6 голосов
/ 22 марта 2011

C-способ выполнения встроенных условных выражений:

[obj someFunc:(str ? str : @"")];

В просторечии он называется «троичным оператором» (стандарт C называет его «условным оператором»).Он используется как:

condition ? true-expression : false-expression

Если условие ненулевое, true-expression оценивается как результат оператора, в противном случае false-expression оценивается как результат.

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