更改文本字段并“退出前保存”

时间:2014-01-21 09:31:04

标签: ios iphone objective-c exc-bad-access

我正在尝试在我的应用上添加“退出前保存”提醒,以避免数据丢失,如果用户想要返回而不保存以前的视图。 我知道有很多方法,但为什么这似乎不起作用?

1)声明这两个变量:

@property (nonatomic, assign) BOOL isChanged;

2)

@property (nonatomic, assign) NSString *modifiedText;

3)在init

处设置为false“isChanged”

4)

  (void)textFieldDidBeginEditing:(UITextField *)textField {
  self.modifiedText = textField.text;

5)

 - (void)textFieldDidEndEditing:(UITextField *)textField {

 if(![self.modifiedText isEqualToString:textField.text]){
        self.isChanged = YES;
 }
 else{
        self.isChanged = NO;
  }

但我在5.修改过的文本上有一个exc_bad_access。为什么?

3 个答案:

答案 0 :(得分:1)

尝试以这种方式声明 modifiedText 属性:

@property (copy) NSString *modifiedText;

有关详细信息,请参阅this问题。

答案 1 :(得分:1)

试试这个

@property (nonatomic,retain) NSString *modifiedText;

@property (nonatomic,copy) NSString *modifiedText;

而不是分配。

答案 2 :(得分:1)

试试这个,

更改您的财产

@property (nonatomic, assign) NSString *modifiedText;

@property (nonatomic, strong) NSString *modifiedText;

more details