此代码工作正常:
NSString *titleForMail =[NSString stringWithFormat:@"text %@",_infoTFProduct.text];
[mailCont setSubject:titleForMail];
虽然这段代码给了我上面的错误。
[mailCont setSubject:@"yo! %@", _infoTFProduct.text];
我很想知道为什么。
此代码工作正常:
NSString *titleForMail =[NSString stringWithFormat:@"text %@",_infoTFProduct.text];
[mailCont setSubject:titleForMail];
虽然这段代码给了我上面的错误。
[mailCont setSubject:@"yo! %@", _infoTFProduct.text];
我很想知道为什么。
因为,好吧,[mailCont setSubject:@"yo! %@", _infoTFProduct.text];
显然有两个论点?事实上,逗号表示第一个参数的结束和第二个参数的开始。
该语法对于插值字符串并不通用。我相信是唯一可以处理这种参数格式的案例stringWithFormat:
。NSLog
所以很少有接受字符串的方法也接受带有插值参数的字符串。如果要将值插入字符串并在可以使用字符串的任何地方使用它,则必须先使用[NSString stringWithFormat:]
。
试着把它放在你需要的地方。
[mailCont setSubject:[NSString stringWithFormat:@"yo! %@", _infoTFProduct.text]];