如何在Objective-C中声明一个字符串?

pow*_*tac 25 string cocoa objective-c nsstring

如何向变量声明一个简单的字符串"test"?

Car*_*rum 46

AC字符串就像C中一样.

char myCString[] = "test";
Run Code Online (Sandbox Code Playgroud)

NSString使用以下@字符:

NSString *myNSString = @"test";
Run Code Online (Sandbox Code Playgroud)

如果您需要管理NSString的内存:

NSString *myNSString = [NSString stringWithFormat:@"test"];
NSString *myRetainedNSString = [[NSString alloc] initWithFormat:@"test"];
Run Code Online (Sandbox Code Playgroud)

或者,如果您需要可编辑的字符串:

NSMutableString *myMutableString = [NSMutableString stringWithFormat:@"test"];
Run Code Online (Sandbox Code Playgroud)

您可以从Apple NSString文档中了解更多信息.

  • `char`是本机C类型,`NSString` /`NSMutableString`是用于在Cocoa/Objective-C中管理字符串的类.它们与普通的C字符串(`char`数组)实际上并没有多大的关系.您应该查看一些基本的"操作方法"Objective-C文档来开始. (4认同)

Jef*_*ley 41

NSString *testString = @"test";
Run Code Online (Sandbox Code Playgroud)


Ant*_*ert 10

标准字符串赋值可以这样完成:

NSString *myTestString = @"abc123";
Run Code Online (Sandbox Code Playgroud)

除了基本分配之外,在使用标准字符[]数组没有的NSString类时,还有很多方法.这就是目标编程更好的原因!

例如,用一行代码填充带有html网页内容的字符串!**

创建和初始化字符串

+ string
– init
– initWithBytes:length:encoding:
– initWithBytesNoCopy:length:encoding:freeWhenDone:
– initWithCharacters:length:
– initWithCharactersNoCopy:length:freeWhenDone:
– initWithString:
– initWithCString:encoding:
– initWithUTF8String:
– initWithFormat:
– initWithFormat:arguments:
– initWithFormat:locale:
– initWithFormat:locale:arguments:
– initWithData:encoding:
+ stringWithFormat:
+ localizedStringWithFormat:
+ stringWithCharacters:length:
+ stringWithString:
+ stringWithCString:encoding:
+ stringWithUTF8String:
Run Code Online (Sandbox Code Playgroud)

从文件创建和初始化字符串

+ stringWithContentsOfFile:encoding:error:
– initWithContentsOfFile:encoding:error:
+ stringWithContentsOfFile:usedEncoding:error:
– initWithContentsOfFile:usedEncoding:error:
Run Code Online (Sandbox Code Playgroud)

从URL创建和初始化字符串

+ stringWithContentsOfURL:encoding:error:
– initWithContentsOfURL:encoding:error:
+ stringWithContentsOfURL:usedEncoding:error:
– initWithContentsOfURL:usedEncoding:error:
Run Code Online (Sandbox Code Playgroud)

如果您需要一个字符串,您可以在其中编辑它想要查看的缓冲区:

NSMutableString
Run Code Online (Sandbox Code Playgroud)