Несовместимый указатель, инициализирующий NSMutableString выражением типа NSString - Предупреждение - PullRequest
2 голосов
/ 07 января 2012

Привет, ребята, я получил этот кусок кода и получил предупреждение "Несовместимый указатель, инициализирующий NSMutableString с выражением типа NSString" и утечка памяти.кто-нибудь знает, как это исправить?

- (IBAction)numberClicked:(id)sender {

    UIButton * numberBtn = (UIButton*)sender;

    NSMutableString *value = (self.textField.text == nil ? [NSMutableString new] : self.textField.text );
    [value appendString:[NSString stringWithFormat:@"%d",numberBtn.tag]];

    self.textField.text = value;
}

thnaks

1 Ответ

3 голосов
/ 07 января 2012

Чтобы избавиться от предупреждения о несовместимом указателе, вам нужно назначить изменяемую копию self.textField.text для value:

NSMutableString *value = (self.textField.text == nil ? [NSMutableString new] : [self.textField.text mutableCopy] );
...