我选择了一个简单的方法,我创建了一些NSString变量,我在视图加载时设置了这些变量...
strKeptDesc = txtDescription.text;
NSLog(@"KDesc =#%@# CDesc =#%@#",strKeptDesc, txtDescription.text);
作为例外工作,输出您期望的值。
但是在我的db commit函数中,当我检查变量时,我得到了错误......
NSMethodSignature: 0x5c3fa80># CDesc =#Gas bill3#
Program received signal: “EXC_BAD_ACCESS”.
在我的文件中,我有
NSString *strKeptDesc;
}
@property (nonatomic, retain) NSString *strKeptDesc;
我也合成了。
答案 0 :(得分:3)
strKeptDesc = txtDescription.text;
在这一行中,您只需为您的iVar分配一个字符串值,并且您的访问者方法不会被调用 - 因此,如果您要分配自动释放的字符串,它可能会被释放并变为无效。你必须写
self.strKeptDesc = txtDescription.text;
相反,所以strKeptDesc将保留在setter中并在当前方法之外保持有效。