- [NSConcreteMutableAttributedString _UIKBStringWideAttributeValueForKey:]:发送到解除分配的实例0x11ba0740的消息

时间:2014-06-07 06:28:56

标签: objective-c ios6 uitextfield nsmutableattributedstring

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

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

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

适用于iOS 7的问题。问题仅适用于iOS 6.

1 个答案:

答案 0 :(得分: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;
}

然而我更关心这一点,因为之前从未发生过这件事。这是我第一次遇到这种情况。