创建与初始化strings
+ (id)string --- 返回一个空字符串。
- (id)init --- 返回一个已初始化并没有字符的NSString类
- (id)initWithBytes:(const void *)bytes length:(NSUInteger)length encoding:(NSStringEncoding)encoding --- 返回一个初始化NSString类并装载用特定编码特定长度的字节
- (id)initWithBytesNoCopy:(void *)bytes length:(NSUInteger)length encoding:(NSStringEncoding)encodingfreeWhenDone:(BOOL)flag --- 返回一个初始化NSString类并装载用特定编码特定长度的字节。注意:如果当在创建字符串中发生错误,那么bytes是不会释放即使flay是YES。在这种情况下,调用者需要负责释放缓存,这允许调用者继续尝试用缓存来创建字符串而不需要清除缓存
- (id)initWithCharacters:(const unichar *)characters length:(NSUInteger)length --- 返回一个初始化NSString类装载characters长度的字符。注意:当characters为NULL或者长度为0,讲会引发异常。
- (id)initWithCharactersNoCopy:(unichar *)characters length:(NSUInteger)length freeWhenDone:(BOOL)flag --- 返回一个初始化NSString类并装载用特定编码特定长度的字节。注意:如果当在创建字符串中发生错误,那么bytes是不会释放即使flay是YES。在这种情况下,调用者需要负责释放缓存,这允许调用者继续尝试用缓存来创建字符串而不需要清除缓存 characters:一个Unicode编码的C数组。
- (id)initWithString:(NSString *)aString --- 从aString拷贝字符初始化一个NSString类。注意:如果aString为nil,将引起 NSInvalidArgumentException异常.
- (id)initWithCString:(const char *)nullTerminatedCString encoding:(NSStringEncoding)encoding --- 用nullTerminatedCString的字符初始化一个NSString类。描述:如果nullTerminatedCString不是一个以null结束的C字符串和encoding不符合实际编码,结果将为未定义。
- (id)initWithUTF8String:(const char *)bytes --- 从bytes拷贝字符初始化一个NSSting类。注意:如果bytes为NULL将引发异常。
- (id)initWithFormat:(NSString *)format --- 初始化一个NSString对象使用format作为模板保持参数值代入典型区域。注意:如果format为nil将引发NSInvalidArgumentException异常。
- (id)initWithFormat:(NSString *)format arguments:(va_list)argList --- 初始化一个NSString对象使用format作为模板arglist提供数值代入用户定义的区域。注意:如果format为nil将引发NSInvalidArgumentException异常。
- (id)initWithFormat:(NSString *)format locale:(id)locale --- 初始化一个NSString对象使用format字符串作为模板保持参数数值代入所给区域说明。注意:如果format为nil将引发NSInvalidArgumentException异常。
- (id)initWithFormat:(NSString *)format locale:(id)locale arguments:(va_list)argList --- 初始化一个NSString对象使用format作为模板保持参数数值代入所给的区域说明。注意:如果format为nil将引发NSInvalidArgumentException异常。
- (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding --- 初始化一个NSString对象用encoding编码将data的字节转换为Unicode字符。如果因为某些原因使初始化失败将返回nil,例如:如果data为无效数据编码。
以下方法不需要先分配内存在初始化,可以直接创建NSString对象。for example: NSString *tmp = [NSString stringWithFormat:@"for example"];
+ (id)stringWithFormat:(NSString *)format
+ (id)stringWithFormat:(NSString *)format
-
+ (id)stringWithCString:(const char *)cString
encoding:(NSStringEncoding)enc