嗨,大家好,我收到了这段代码,并收到了警告“使用NSString类型的表达式初始化NSMutableString的指针不兼容”和内存泄漏。有人似乎不知道该如何纠正吗?

- (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;
}


恶作剧

最佳答案

要摆脱不兼容的指针警告,您需要将self.textField.text的可变副本分配给value

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

关于iphone - 用NSString类型的表达式初始化NSMutableString的不兼容指针-警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8766103/

10-10 21:14