У меня есть ситуация, когда я хочу выделить один объект NSString и назначить ему текст внутри блока if-else. Когда я пишу код так:
NSString *string = [NSString alloc];
if (firstCase)
[string initWithString:@"firstCase"];
else if(secondCase)
[string initWithString:@"secondCase"];
[self someFunction:string];
Я получаю ошибку внутри someFunction
(выдает исключение NSInvalidArgumentException при попытке использовать string
).
Кроме того, когда я выполняю свой код, когда я ввожу someFunction
, консоль выдает строку, которая говорит:
Вы забыли вложить alloc и init?
, что относится к string
.
Я пытался сделать то же самое, используя NSMutableString и просто делая string = [[NSMutableString alloc] init]
и просто добавляя к строке в каждом блоке if-else, но мне было интересно, знает ли кто-нибудь, почему предыдущий способ не дает таких же результатов.