似乎是一个令人震惊的微不足道的差异。将nil
的非otherButtonTitles
值传递给UIAlerView
会爆炸。
工作:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Login with your credentials"
message:nil
delegate:nil
cancelButtonTitle:@"Cancel"
otherButtonTitles:nil];
不工作:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Login with your credentials"
message:nil
delegate:nil
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK"];
是什么给出了?
答案 0 :(得分:4)
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Login with your credentials"
message:nil
delegate:nil
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK1",@"OK2",nil];
最后一个参数是一个多参数,应该以nil终止。
答案 1 :(得分:2)
基本上,你应该改为:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Login with your credentials"
message:nil
delegate:nil
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
它声明here“添加到接收器的附加按钮的标题,以nil终止。”
基本上,它是一个多值参数,可以获取值直到nil。它与数组和列表的工作方式相同。