NULL возвращается NSMutableString - PullRequest
0 голосов
/ 13 января 2011

У меня есть NSMutableString, к которому я добавляю другие строки.

Когда я печатаю строку, я получаю нулевое значение.

в файле .h

NSMutableString *name;
@property(nonatomic, retain) NSMutableString *name;

в файле .m

@synthesize name;

-(IBAction) a {
if (uppercase == 1) {
    [name appendString:@"A"];
    NSLog(@"name: %@", name);
}
else
    [name appendString:@"a"];
    NSLog(@"name: %@", name);
}

Я получаю следующую распечатку при запуске действия.

имя: (ноль)

Почему возвращаемое значение равно нулю?

Ответы [ 2 ]

2 голосов
/ 13 января 2011

Полагаю, вы никогда не инициализировали его. Что-то вроде:

- (id)init {
    // Standard init code here...
    self.name = [NSMutableString stringWithString:@""];
}

... чтобы убедиться, что у вас есть действительный объект для работы?

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

Вы устанавливаете значение 'name' где-нибудь в вашем коде?В коде, который вы вставили в свой вопрос, имя не будет установлено.Вы не можете добавить строку к чему-то, что не существует - вы фактически пытаетесь добавить значение к нулю, поэтому ничего не возвращается.

Так что я думаю, что мой ответ будет таким: на основании кода, который вы показали, имя никогда не имеет ничего назначенного ему.Если вы назначаете строку для «name», ваша проблема в другом месте, но вам нужно будет опубликовать код для назначения и т. Д.

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