UIAlertView中变量的占位符?

时间:2014-05-03 06:12:20

标签: ios uialertview

如果没有符合他/她所选搜索条件的项目,我希望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 ":"

是否可以使用这样的变量,若然,怎么做?

谢谢!

2 个答案:

答案 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或以不同的方式构造一个。不管怎样,你应该在这里传递一个完整的字符串。