此代码可以正常工作:
NSString *titleForMail =[NSString stringWithFormat:@"text %@",_infoTFProduct.text];
[mailCont setSubject:titleForMail];
虽然此代码给出了上述错误。
[mailCont setSubject:@"yo! %@", _infoTFProduct.text];
我很想知道原因。
答案 0 :(得分:5)
因为,[mailCont setSubject:@"yo! %@", _infoTFProduct.text];
显然有2个参数?实际上,逗号表示第一个参数的结束和第二个参数的开始。
该语法对于插值字符串不是通用的。 stringWithFormat:
和NSLog
我认为是唯一可以处理此参数格式的案例。
因此接受字符串的方法很少也会接受带插值参数的字符串。如果要将值插入字符串并在任何可以使用字符串的地方使用它,则必须先使用[NSString stringWithFormat:]
。
答案 1 :(得分:0)
尝试将其放置在您需要的位置。
[mailCont setSubject:[NSString stringWithFormat:@"yo! %@", _infoTFProduct.text]];