画面にUIAlertviewshowを呼び出すクラスを作成します。UIAlert関数を別のクラスで記述します。これら2つのクラスはどちらも私のviewControllerクラスではありません。
内部のUITextfieldであるこのUIAlertを使用して、テキストをplistファイルに保存します。
UIAlertを呼び出すクラスは次のとおりです。
#import "Story.h"
@implementation Story
...
+ (void)stage1
{
AlertClass *pointer = [AlertClass new];
[pointer doAlert];
}
これがクラスAlertClass.mファイルです:
- (void)doAlert
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:self cancelButtonTitle:@"Done" otherButtonTitles:nil];
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
[alert show];
}
//this makes crash!
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
self.storyFlow.text = [alertView textFieldAtIndex:0].text;
}
.hにUIAlertViewDelegateを追加し、メソッド「clickedButtonAtIndex」をオーバーライドする前に、これはうまく機能します。ただし、アラートビュー内のUITextfieldからのデータを保存する必要があります。クラッシュし、次のように応答するメッセージがわかりません。
この問題を解決するのを手伝ってください。ありがとう。