1

私は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

助けてくれてありがとう!Loc。

4

1 に答える 1

4

あなたの問題はあなたがassignあなたの財産のために使用しているという事実が原因である可能性があります。これは、文字列への参照が残っているときに、文字列の割り当てを解除できることを意味します。copy代わりに使用してみてください:

@property (nonatomic, copy) NSString *strSomeText;

textViewDidChange:次に、メソッドでプロパティアクセサーを使用する必要があります。

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