Избегание символов "" в Objective C - PullRequest
1 голос
/ 29 марта 2012

Я пытаюсь установить фоновое изображение представления на основе переданного "ArtistID".Вот мой код:

 NSString *backgroundImageName = [[NSString alloc]initWithFormat:@"artistbackground%i.png",_artistID];


    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:backgroundImageName]];
    NSLog(@"%@",backgroundImageName);

к сожалению, для параметра в ImageNamed я передаю: artistibackground1

вместо:

@ "artistbackgound1"

Любые идеи о том, как избежать @ и цитаты ??

Спасибо!

Ответы [ 3 ]

1 голос
/ 29 марта 2012
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:[NSString stringWithFormat:@"@%@",backgroundImageName]];

По существу сделайте две строки, это добавит @ "" во второй.

0 голосов
/ 30 марта 2012

Не забывайте, что даже строковые константы являются объектами NSString в Objective-C.Это часть магии!Я часто вижу программистов, плохо знакомых с языком, пишущих эту строку:

[NSString stringWithFormat:@"@%@",backgroundImageName];

Но вы можете упростить эту строку до:

[@"@" stringByAppendingString:backgroundImageName];

Магия!

0 голосов
/ 29 марта 2012

Вы должны использовать \ перед желаемым символом.Пример:

NSLog(@"\@\"Try\"");

Код печатает

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