Как добавить значение int в строку? - PullRequest
3 голосов
/ 05 мая 2011
NSMutableString  *selectDay=@"Wed 14 May";
[selectDay stringByAppendingFormat:@"%i", yearNumber];
NSLog(@"%@",selectDay);

Я попробую этот. Но он не может добавить yearNumber к этой строке, пожалуйста, помогите мне. YearNumber содержит 2011.

Ответы [ 6 ]

6 голосов
/ 05 мая 2011

stringByAppendingFormat: возвращает новую строку, она не изменяет строку получателя.Вот почему вы не получаете никаких изменений.Попробуйте это:

NSMutableString  *selectDay=@"Wed 14 May";
NSString *newString = [selectDay stringByAppendingFormat:@"%i", yearNumber];
NSLog(@"%@", newString);

Или это:

NSMutableString  *selectDay=@"Wed 14 May";
NSString *newString = [NSString stringWithFormat:@"%@%i", selectDay, yearNumber];
NSLog(@"%@", newString);

РЕДАКТИРОВАТЬ: На самом деле вам не нужна изменяемая строка для этого.selectDay должен быть нормальным NSString.

NSString  *selectDay=@"Wed 14 May";
2 голосов
/ 13 апреля 2013

изменить нижнюю строку

[selectDay stringByAppendingFormat:@"%i", yearNumber];

до

selectDay = [NSString stringWithFormat:@"%@%i", selectDay, yearNumber];

определенно это будет работать ...

1 голос
/ 05 мая 2011

Вы определяете переменную типа NSMutableString *, но передаваемая вами константа имеет тип NSString *, что уже неверно.Есть два решения: с или без NSMutableString.

NSMutableString *selectDay = [NSMutableString stringWithString:@"Wed 14 May"];
[selectDay appendFormat:@"%i", yearNumber];
NSLog(@"%@", selectDay);

Здесь изменяемая строка генерируется из константной строки, а затем модифицируется путем добавления.

NSString *selectDay = @"Wed 14 May";
NSString *newDay = [selectDay stringByAppendingFormat:@"%i", yearNumber];
NSLog(@"%@", newDay);

Дело здесьstringByAppendingFormat: не изменяет исходную строку, а возвращает новую.И вам просто нужно «поймать» его в переменной.

1 голос
/ 05 мая 2011

Попробуйте это: -

NSString   *selectDay=@"Wed 14 May";
    int yearNumber=2011;
    selectDay=[selectDay stringByAppendingFormat:[NSString stringWithFormat:@"%d", yearNumber]];
    NSLog(@"%@",selectDay);
1 голос
/ 05 мая 2011
   NSString *selectDay=@"Wed 14 May";
    NSString *appendedString = [NSString stringWithFormat:@"%@ %d",selectDay, yearNumber];

    NSLog(@"%@",appendedString);

Попробуйте это

0 голосов
/ 05 мая 2011

Вы можете попробовать:

NSString *selectDay = [NSString stringWithFormat:@"Wed 14 May %d", yearNumber];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...