1

如果这是一个糟糕的问题,我深表歉意,因为我是 iOS 开发的新手。所以这是我的问题:我声明了一个类变量 NSString,该字符串从 textView 分配了一个字符串值,但是当我尝试从其他方法访问该字符串时,应用程序崩溃了。这是代码:

接口:(类名.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

谢谢您的帮助!地点。

4

1 回答 1

4

您的问题可能是由于您正在使用assign您的财产。这意味着可以在您仍然拥有对它的引用时释放该字符串。尝试copy改用:

@property (nonatomic, copy) NSString *strSomeText;

然后你应该在你的方法中使用你的属性访问器textViewDidChange:

self.strSomeText = textView.text;
于 2012-08-06T14:53:13.630 回答