iOSで簡単な「OK」ダイアログボックスを作成して表示するための簡単なマクロを作成してみました。
#define ALERT_DIALOG(title,message) \
do\
{\
UIAlertView *alert_Dialog = [[UIAlertView alloc] initWithTitle:(title) message:(message) delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];\
[alert_Dialog show];\
} while ( 0 )
コードで使用しようとすると、次のようになります。
ALERT_DIALOG(@"Warning", @"Message");
エラーが発生します:
解析の問題。期待される ']'
@
そして、エラーは直前の2番目を指しているよう"Message"
です。
ただし、マクロをコピーして貼り付けるだけでは、次のエラーは発生しません。
NSString *title = @"Warning";
NSString *message = @"Message";
do
{
UIAlertView *alert_Dialog = [[UIAlertView alloc] initWithTitle:(title) message:(message) delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert_Dialog show];
} while ( 0 );
マクロでObjective-cコンストラクトを使用することに反対するものはありますか?それともそれは何か他のものですか?