如果没有符合他/她所选搜索条件的项目,我希望UIAlertView
警告用户。我最初的想法是使用这段代码:
if (aOiCount == 0)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No instances of %@",self.thisSpec.activityOfInterest message:@"Please select an activity or Cancel" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
想法是将实际活动名称放入标题中,就像在NSLog
字符串中一样。
不幸的是,这不起作用。编译器告诉我Expected ":"
是否可以使用这样的变量,若然,怎么做?
谢谢!
答案 0 :(得分:1)
拨打这一行
@"No instances of %@",self.thisSpec.activityOfInterest
在一个NSString
NSString *alertstr=[NSString stringWithFormat:@"No instances of %@",self.thisSpec.activityOfInterest];
之后调用UIAlertView
,然后将delegate:nil
重新排列为delegate:self
if (aOiCount == 0)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:alertStr message:@"Please select an activity or Cancel" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
答案 1 :(得分:0)
我认为这不是有效的Objective C语法:
initWithTitle:@"No instances of %@",self.thisSpec.activityOfInterest
您需要将其包装在NSString或自包含的表单中。
考虑许多NSString方法中的一个,例如stringWithFormat
或以不同的方式构造一个。不管怎样,你应该在这里传递一个完整的字符串。