Obj-C объединяет строки - PullRequest
       5

Obj-C объединяет строки

2 голосов
/ 04 апреля 2010

это должно быть такой простой проблемой, но кто-то может сказать мне, почему это не работает:

visibilityString1 = @"the";
visibilityString2 = @"end";

visibilityString = (@"This is %@ %@", visibilityString1, visibilityString2);

Каждый раз, когда я пытаюсь комбинировать строки таким образом, он возвращает только вторую строку, поэтому я получаю:

конец

Ответы [ 2 ]

6 голосов
/ 04 апреля 2010

Используйте следующее:

visibilityString = [NSString stringWithFormat:@"This is %@ %@", visibilityString1, visibilittyString2];

Пояснения

В C (и, следовательно, также в ObjC) синтаксис (expression, expression, expression) оценивает все выражения и возвращает значение последнего. Так что если вы делаете:

int foo = (bar(), baz(), 4);

bar() и baz() будут вызваны, но foo будет 4. (Не делайте этого дома. Это не очень хорошая практика.)

5 голосов
/ 04 апреля 2010

Я считаю, что вы ищете:

visibilityString = [NSString stringWithFormat:@"This is %@ %@", visibilityString1, visibilityString2];

Наслаждайтесь!

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