0

我有一个应用程序,当我单击 iOS6 中的文本字段时,应用程序崩溃了。崩溃发生在下面的消息中。

-[NSConcreteMutableAttributedString _UIKBStringWideAttributeValueForKey:]: message sent to deallocated instance 0x11ba0740

我有一个英语和阿拉伯语版本的应用程序。对于阿拉伯语,我使用NSMutableAttributedString并将文本设置为textField.attributedText

它适用于 iOS 7。问题仅适用于 iOS 6。

4

1 回答 1

0

不知道是什么问题,但下面是我如何解决的。

viewDidLoad我下面添加。

[fullName addTarget:self action:@selector(handleTouchValueChangedUN) forControlEvents: UIControlEventEditingDidEnd];

然后handleTouchValueChangedUN如下使用。

-(void) handleTouchValueChangedUN {
    [User_FullName setString:fullName.text];
}

添加textFieldShouldBeginEditing了我将文本设置为空白的位置,然后将其值设置为实际值。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{

    textField.text = @"";
    if (textField==fullName) {
        attributedString = [[NSMutableAttributedString alloc] initWithString:User_FullName attributes:@{ NSFontAttributeName : [UIFont fontWithName:localize(@"myFontName") size:[localize(@"fontSize001") floatValue]], NSLigatureAttributeName: @2}];
        textField.attributedText = attributedString;
    }

    return YES;
}

但是我更担心这一点,因为这从未发生在我身上。这是我第一次体验。

于 2014-06-07T06:53:07.280 回答