obj*_*pro 25 objective-c nsstring
我在Objective C中比较新,但不是编程.我想知道如何将一个NSString附加到另一个NSString上.我正在创建一个用户必须完成基本句子的应用程序,我想知道如何获取用户输入的字符串并将其附加到屏幕上的当前字符串中?
Ank*_*kit 45
我想你正在寻找NSString的stringByAppendingString函数.请参阅下面的示例.
NSString *errorTag = @"Error: ";
NSString *errorString = @"premature end of file.";
NSString *errorMessage = [errorTag stringByAppendingString:errorString];
Run Code Online (Sandbox Code Playgroud)
生成字符串"错误:文件过早结束.".
Fog*_*ogh 36
这也可以通过使用NSMutableString来实现:
NSMutableString *string = [NSMutableString stringWithString:@"String 1"];
[string appendString:@"String 2"];
Run Code Online (Sandbox Code Playgroud)
Imi*_*rak 13
看起来你有答案,但你也可以使用这样的stringWithFormat:
方法:
NSString *sample1 = @"Hello";
NSString *sample2 = @"Being appended";
NSString *complete = [NSString stringWithFormat:@"%@%@", sample1,
sample2];
Run Code Online (Sandbox Code Playgroud)
您无法真正将一个NSString附加到另一个NSString,因为类NSString不可变.所有标准数据结构都具有可变和非可变变量(NSMutableString vs NSString,NSMutableArray vs NSArray等).如果要在不重新分配新对象的情况下更改内容,则需要使用可变版本.您可以使用以下命令重新创建新的NSString:
NSString* string3 = [NSString stringWithFormat:@"%@%@",string1,string2];
Run Code Online (Sandbox Code Playgroud)
这对性能有害,所以如果你要在一个循环或一些性能敏感区域(即你一遍又一遍地追加相同的字符串)这样做,这肯定会引起你的问题(我做了这个之前的错误).
相反,您可能应该使用NSMutableString并将第二个字符串附加到它:
NSMutableString* string1 = [NSMutableString alloc] init];
[string1 appendString:string2];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
45378 次 |
最近记录: |