формат не строковый литерал и аргументы формата (без NSLog) - PullRequest
2 голосов
/ 17 января 2011

(я новичок в цели c, поэтому извиняюсь, если это кажется простым вопросом)

Я исследовал следующее сообщение здесь

формат не строковый литерал и не аргументы формата

и большинство ответов содержат заявление NSLog.Тем не менее, моя ошибка появляется с этой строкой

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:[NSString stringWithFormat:@"/%@", [managedObject Name]]];

Я устраняю неполадки с набором кода и, похоже, не понимаю, почему ошибка происходит здесь.любая помощь в этом будет оценена.

Ответы [ 4 ]

4 голосов
/ 17 января 2011

Ниже следует исправить это.

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:[NSString stringWithFormat:@"/%@", [managedObject Name]], nil];

В качестве альтернативы

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:@"/%@", [managedObject Name]];

Следует также сделать это.

Вы вызывали два метода, которые ожидали параметр формата, вы передавали один в [NSString stringWithFormat], но не в метод stringByAppendingFormat.

3 голосов
/ 17 января 2011

Помимо того, что сказали другие, вы должны посмотреть на

- (NSString *)stringByAppendingPathComponent:(NSString *)aString
1 голос
/ 17 января 2011

Вы используете stringByAppendingFormat, а затем используете stringWithFormat. Выберите один или другой. Исправлено:

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:@"/%@", [managedObject Name]];
0 голосов
/ 17 января 2011
[NSString stringWithFormat:@"/%@", [managedObject Name]

вернет строку с %@, уже замененным значением [managedObject Name].Поэтому метод stringByAppendingFormat не получает строку форматирования и любые аргументы.

Кстати, соглашение состоит в том, чтобы использовать имена методов, начинающиеся со строчных букв, в отличие от [managedObject Name]

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