Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标C-OSX NSInterger到NSString_Objective C_Xcode_Macos_Nsstring - Fatal编程技术网

Objective c 目标C-OSX NSInterger到NSString

Objective c 目标C-OSX NSInterger到NSString,objective-c,xcode,macos,nsstring,Objective C,Xcode,Macos,Nsstring,嗨,我正在读aaron hillegass写的一本关于cococa编程的书,我正在做他让我们做的一个小任务 任务是创建一个打开一个窗口、一个输入文本字段、一个按钮和一个标签的应用程序 当用户输入一些文本并按下按钮时,标签显示文本和输入文本的长度 这是我到目前为止得到的 //retrieve text from textfield NSString *string = [textFieldInput stringValue]; //retrieve length of text and stor

嗨,我正在读aaron hillegass写的一本关于cococa编程的书,我正在做他让我们做的一个小任务

任务是创建一个打开一个窗口、一个输入文本字段、一个按钮和一个标签的应用程序

当用户输入一些文本并按下按钮时,标签显示文本和输入文本的长度

这是我到目前为止得到的

//retrieve text from textfield
NSString *string = [textFieldInput stringValue];

//retrieve length of text and store in NSInteger called length
NSInteger length = [string length];

//store length in string format
NSString *string_length = [NSString stringWithFormat:@"%d", length];

//join strings
NSString *full_string = [string stringByAppendingString:(@"has ",string_length,@" characters")];

//set label text
[textField setStringValue:full_string];

但是,将显示实际字符串和字符串,而不是字符串的长度。有什么建议吗?我的做法对吗?谢谢。

您使用的
stringByAppendingString:
是错误的。
如果我理解正确,您正在尝试传递一个字符串列表,该列表应附加到
string
,但该方法只接受一个字符串参数。
您可以尝试以下操作:

NSString* fullString = [string stringByAppendingString:[NSString stringWithFormat:@"%@ %@ %@", @"has ", string_length, @" characters"]];

哇,为什么不[stringByAppendingFormat:]?!你是对的。马克·亚当斯已经发布了一个使用该方法的解决方案。
NSString *fullString = [string stringByAppendingFormat:@"has %@ characters", string_length];
//retrieve text from textfield
NSString *string = [textFieldInput stringValue];

NSString *fullString = [string stringByAppendingFormat:@" has %d characters", [string length]];

//set label text
[textField setStringValue:fullString];