如果这是一个糟糕的问题,我很抱歉,因为我是iOS开发的新手。所以这是我的问题:我声明了一个类变量NSString,该字符串从textView分配了一个字符串值但是当我尝试从其他方法访问该字符串时,该应用程序崩溃。这是代码:
接口:(ClassName.h)
@interface ClassName: UIViewController <UITextViewDelegate>{}
@property (nonatomic, assign)NSString *strSomeText;
@end
实施:(ClassName.m)
@implementation
@synthesize strSomeText;
- (void)textViewDidChange:(UITextView *)textView{
strSomeText = textView.text;
NSLog(@"%@", strSomeText); //This line works just fine
}
- (void)textViewDidEndEditing:(UITextView *)textView{
NSLog(@"%@", strSomeText); //this line causes the app to crash
}
@end
感谢您的帮助! 同上。
答案 0 :(得分:4)
您的问题可能是因为您使用assign
作为您的财产。这意味着在您仍然可以引用该字符串时可以取消分配该字符串。请尝试使用copy
:
@property (nonatomic, copy) NSString *strSomeText;
然后,您应该使用textViewDidChange:
方法中的属性访问器:
self.strSomeText = textView.text;