-[NSConcreteMutableAttributedString _UIKBStringWideAttributeValueForKey:]: сообщение отправлено освобожденному экземпляру 0x11ba0740

У меня есть приложение, в котором происходит сбой приложения при нажатии на текстовое поле в iOS6. Происходит сбой, говоря ниже сообщение.

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

У меня есть приложение с английской и арабской версией. Для арабского я использую NSMutableAttributedString и установить текст как textField.attributedText

Работает нормально с iOS 7. Проблема только с iOS 6.

1 ответ

Решение

Не уверен, в чем проблема, но ниже, как я решил.

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

Однако меня это больше беспокоит, так как раньше такого не случалось со мной. Это первый раз, когда я испытываю.

Другие вопросы по тегам