Вопрос по c, objective-c – Как назначить объекту nsstring строку NSString с переменными?

0

У меня есть следующий код:

long mins = 02; long secs = 35;
  NSString *allTime = [[NSString alloc]init];
    allTime = @"%i:%i",mins, secs ;

Но это не работает, потому что, когда я пытаюсь отобразить этот объект nsstring, я получаю это:% i:% i Вместо этого я хочу получить: 02:35

Как это сделать ? Спасибо!

allTime = [NSString stringWithFormat:@"%l/%l", mins, secs];
for(Playlists *thePL in collection)
    {
        NSLog(@"===NEXT PLAYLIST===");
        NSLog(@"Name: %@", thePL.namePL);
        NSLog(@"Quantity of songs: %i", thePL.entries);
        NSLog(@"Total of time: %@",thePL.allTime);
    }

ВСЕГО ВРЕМЕНИ: л

Не редактируйте свои вопросы, чтобы добавить к ним новые вопросы & # x2014; это не то, как работает переполнение стека. Если вы хотите задать новый вопрос, вы должны сделать это как новый вопрос. И, пожалуйста, постарайтесь четко задать свои вопросы. Похоже, у вас есть обаallTime локальная переменная и свойствоallTime принадлежащий к классу Playlist. Если это на самом деле не так, вам нужно будет опубликовать свой реальный код с контекстом, потому что это чрезвычайно трудно для отладки сильно сокращенного кода. Chuck

Ваш Ответ

4   ответа
3

NSString *allTime = [NSString stringWithFormat:@"%d:%d",mins, secs];
0

во-вторых, вы должны использовать этот код:

 NSString *allTime = [stringWithFormat:@"%d,:%d", mins, secs]

Вы также можете выделить строку и затем инициализировать ее следующим образом:

NSString *allTime = [[Nsstring alloc] init];
allTime = [NSString stringWithForat:@"%d:%d", mins, secs];

хотя лучший, короткий и лучший способ - первый. надеюсь, это поможет ...

6

stringWithFormatсмNSString Class Reference.

allTime = [NSString stringWithFormat:@"%d:%d",mins, secs];
@SevaAlekseyev: Не совсем. Нет «правил выпуска» для выражения@"%i:%i",mins, secs & # X2014; это дает длинный, а не объект. Если бы это был какой-то правильный способ создания строки, он почти наверняка был бы эквивалентенstringWithFormat:неalloc+initWithFormat:, так как он не содержит никаких волшебных слов, которые придают право собственности.
Для новой проблемы с новым кодом, примите ответ на этот вопрос и создайте новый вопрос. Так работает ТАК - это не форум.
Ну, есть ошибка компиляции в коде OP. По модулю это утечка памяти. По модулю, я думаю, что он хочет не-автоматически выпущенную строку :) Опять же, мы не знаем, включен ли ARC.
Но этот код показывает мне только: L Smart Billionaire
Не эквивалентно коду OP - другие правила выпуска (без ARC).
4
long mins = 02;
long secs = 35;   
NSString *allTime = [[NSString alloc] initWithFormat: @"%d:%d", mins, secs]; 

Похожие вопросы