Xcodeの1つのIBActionに対して複数のUIAlertViewsをランダムに表示することは可能ですか?たとえば、複数の質問がランダムに表示されるアプリを作成しています。送信ボタンを押すと、答えが正しいかどうかを示すアラートが表示されます。私は、あるメッセージを表示したとき、次にランダムに別のメッセージを表示したときなど、警告のメッセージが異なるようにしたい。私はどのようにこれをプログラムするでしょうか?あなたの.hでXcodeで1つのIBActionに対して複数のUIAlertViewを使用できますか?
2
A
答えて
2
:あなたの.mで
@interface MyViewController : UIViewController {
NSArray *messages;
}
@property (nonatomic, retain) NSArray *messages;
@implementation MyViewController
@synthesize messages;
- (dealloc) {
[messages release];
}
- (void)viewDidLoad {
messages = [[NSArray alloc] initWithObjects:@"Funny Message", @"Even Funnier Message", @"Hilarious message", @"ROFL", @"OK this is getting boring...", nil];
}
アラートを必要とする:
NSUInteger messageCount = [messages count];
int randomMessageIndex = arc4random() % messageCount;
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:[messages objectAtIndex:randomMessageIndex] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
1
は、プロジェクトのために次のマクロを定義します。
をmsgセクションaのsがランダムインデックス、単純な呼び出しとして使用することができ
#define KAlert(TITLE,MSG) [[[[UIAlertView alloc] initWithTitle:(TITLE)
message:(MSG)
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] autorelease] show]
と配列してみてください:
KAlert(@"Title", @"Message");
or KAlert(@"Title",@"[youarray objectatindex:randindex]");
関連する問題
- 1. Xcodeで複数のView Controllerで@IBActionと@IBOutletを使用する方法
- 2. Swiftの複数のボタンに1つのIBActionを使用する方法は?
- 3. 1つのボタンに対して1つのonClickで複数の関数
- 4. 1つの変数に複数のelifを使用できますか?
- 5. 複数のシートに1つの数式を使用できますか?
- 6. 複数のインターフェイスを1つの変数に使用できますか?
- 7. Weblogic内の複数の管理対象サーバに対して1つのノードマネージャを設定できますか
- 8. ページの各セクションに対して複数のメディアクエリを使用できますか?
- 9. 1つの関数で複数のif文を使用していますか?
- 10. djangoで複数のフォームに1つのモーダルを使用していますか?
- 11. 複数のドメインでタグマネージャから1つのタグを使用できますか?
- 12. 1つのポリシーに対して複数の認証ガードを使用する
- 13. 複数のビューに対して1つのポストアクションメソッドを使用する
- 14. 同じVMに対して複数のRecovery Vaultを使用できますか?
- 15. Sassの1つのプロパティに複数の値を使用できますか?
- 16. 複数の異なるセルに1つのカスタムセルを使用できますか?
- 17. 複数の@ app.routeに1つのWTFormを使用できますか?
- 18. 1つのBroadcastReceiverを複数のIntentServicesに使用できますか?
- 19. 複数のベクターに1つのメモリープールを使用できますか?
- 20. 複数のスプレッドシートに1つのGoogleスクリプトを使用できますか
- 21. 1つのCIビルドに複数のgitlabランナーを使用できますか?
- 22. 1つのアプリケーションで複数のSpring @ Transactionアノテーションを使用できますか?
- 23. 複数のimageViewで1つのdrawableインスタンスを使用できますか?
- 24. 複数のyamlファイルを1つのスプリングブートアプリケーションで使用できますか?
- 25. 複数のjQueryバージョンを1つのHTMLドキュメントで使用できますか?
- 26. 1つのスイッチケースで複数のスイッチケースを使用できますか?
- 27. 1つのAndroidドロワブルで複数の図形を使用できますか?
- 28. 1つのクラスで複数のActionListenersを使用できますか?
- 29. 複数のC#アプリケーションで1つのApp.Configファイルを使用できますか?
- 30. 複数のRuby EventMachinesを1つのプロセスで使用できますか?
それはメッセージが宣言されていない識別子であることを述べているが...私はそれを修正するために行うには何が必要ですか? –
あなたの.hのメッセージを宣言しました - 更新された質問を参照 –
コードを実行すると、プログラムは1つの質問に対して機能しますが、クラッシュし、エラー "プログラム受信シグナル:" EXC_BAD_ACCESS "私はあなたのコードをコピーして貼り付けたので、正しくタイプされていることが分かりました。 –