将字符串与NSTextField的值连接会在Objective-C中生成奇数符号

时间:2010-06-14 11:31:07

标签: objective-c cocoa string-concatenation nstextfield

我正在学习Objective-C,Cocoa和IB的第二天。这可能是非常简单但我无法解决的问题。

基本上,我有一个带有NSTextField的表单,当用户在此字段中键入并单击“确定”按钮时,应用程序将显示一条警告,说明Hello后跟文本字段的值。

这一切都与字符串连接有关。我使用以下代码连接字符串“Hello”和NSTextField值:

NSString *nameText = [NSString stringWithFormat:@"Hello %s", [nameTextField stringValue]];

当用户点击“确定”按钮时,警报会显示“Hello‡√Ÿp”!

2 个答案:

答案 0 :(得分:1)

CAMSOFT,

Obj-C的NSString是一个对象,使用:

更正格式调用
NSString *nameText = [NSString stringWithFormat:@"Hello %@",[nameTextField stringValue]];

请注意%@ ,而不是%s

答案 1 :(得分:1)

stringValue返回NSString个对象,%s期望c-string参数。尝试使用%@代替:

NSString *nameText = [NSString stringWithFormat:@"Hello %@", [nameTextField stringValue]];