2012-02-07 2 views
0

Привет только начинает изучать этот язык, больше JavaScript/PHP парня ...Xcode - построить строку из нескольких источников

Я не могу показаться, чтобы выяснить правильный синтаксис, и после поиска интернетов для прямой ответ или объяснение, которое я решил беспокоить вас СФБ сообщества:

Это работает, как я хочу работать:

self.displaysTheStack.text = [self.displaysTheStack.text stringByAppendingString:@" "]; 
    self.displaysTheStack.text = [self.displaysTheStack.text stringByAppendingString:operation]; 
    self.displaysTheStack.text = [self.displaysTheStack.text stringByAppendingString:@" "]; 

Я хотел бы знать, если я мог бы сделать то же самое в менее строках что-то вроде:

NSString *displayTheArrayText = [NSString stringWithFormat:@" ",operation,@" "]; 

self.displaysTheStack.text = [self.displaysTheStack.text stringByAppendingString:displayTheArrayText]; 

Когда я это делаю, я получаю Two @ "" (пробелы), но "операция" не появляется: почему и как я могу написать последнюю команду правильно?

ответ

2

stringWithFormat: использует C-style formats аналогичны тем, которые используются printf

вы, вероятно, хотите что-то вроде этого:

NSString *displayTheArrayText = [NSString stringWithFormat:@" %@ ",operation]; 

взглянуть на Formatting String Objects

+0

Не женат на stringWithFormat это лучший способ конкатенировать статические и переменные строки? Что делать, если у меня было несколько операций с источниками, взаимодействие и взаимодействие ... –

+0

'[NSString stringWithFormat: @"% @% @% @% @% @ ", операция, op1, op2, op3, op4];' Или использовать ' NSMutableString', как Роб, использовал его в своем ответе. –

+0

Да, я пробовал это, я вижу, как это работает сейчас, спасибо, ребята ... –

1
self.displaysTheStack.text = [NSString stringWithFormat:@"%@ %@ ", self.displaysTheStack.text, operation]; 

Альтернативно:

NSMutableString *string = [NSMutableString stringWithString:self.displaysTheStack.text]; 
[string appendFormat:@" %@ ", operation]; 
self.displaysTheStack.text = string; 
+0

Это тоже работает, спасибо, что помогло мне понять, слишком плохо, что мы не можем отметить 2 ответа, я все равно оставил ... спасибо еще раз ... –

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