int в NSString вопрос - PullRequest
       4

int в NSString вопрос

0 голосов
/ 29 января 2011

Я использую следующий оператор для преобразования в NSString (с поиском / заменой)

curr_rep_date = [tmpRptDt stringByReplacingOccurrencesOfString:tmpYrVal withString:[NSString stringWithFormat:(tmpCurrYearInt-1)]];

Я объявил

int tmpYrVal;
NSMutableString *tmp_dt,*curr_rep_date;

Но программа, похоже, дает сбой, и отладчик не дает никаких подсказок.

Может ли кто-нибудь помочь мне с этой проблемой и как правильно ее использовать.

Ответы [ 4 ]

1 голос
/ 29 января 2011

Здесь есть ряд проблем.

Во-первых, sringByReplacingOcurrancesOfString:withString: ожидает NSString с в качестве параметров, а не int с. Вот причина, почему он падает. Метод пытается отправить сообщение примитивному типу, а не объекту.

Во-вторых, вам нужно использовать правильную строку формата для метода stringWithFormat:. Это то же самое, что и NSLog.

Строка формата может выглядеть как @"some text %d". Затем следует список значений, разделенных запятыми, которые будут использоваться вместо% заполнителей.

Пример:

[NSString stringWithFormat:@"%d", myIntValue];

Эффективно превратит ваш int в строку, так как он создает новую строку с форматом, используя ваш int.

1 голос
/ 29 января 2011

Вы вызвали stringWithFormat - метод без форматной строки.[NSString stringWithFormat: @ "% i", (tmpCurrYearInt-1)] должна решить вашу проблему.

0 голосов
/ 29 января 2011

Базовое преобразование int в NSString работает следующим образом:

NSString* s = [NSString stringWithFormat:@"%d", intNumber];
0 голосов
/ 29 января 2011

Вам не хватает формата


curr_rep_date = [tmpRptDt stringByReplacingOccurrencesOfString:tmpYrVal withString:[NSString stringWithFormat:@"%d", (tmpCurrYearInt-1)]];

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