2012-08-06 68 views
1

如果這是一個糟糕的問題,我很抱歉,因爲我是iOS開發新手。所以這裏是我的問題:我聲明瞭一個類變量NSString,該字符串從textView中分配一個字符串值,但是當我嘗試從其他方法訪問字符串時,該應用程序崩潰。下面的代碼:訪問方法之間的NSString導致應用程序崩潰

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

感謝您的幫助! Loc。

回答

4

您的問題可能是由於您使用assign作爲您的財產。這意味着字符串可以被釋放,而你仍然有一個引用它。嘗試使用copy代替:

@property (nonatomic, copy) NSString *strSomeText; 

那麼你應該用你的屬性訪問你的textViewDidChange:方法:

self.strSomeText = textView.text; 
+0

非常感謝傑西。有用! – user945711 2012-08-06 15:11:15

相關問題