小编Jos*_*eph的帖子

NSString vs NSMutableString with stringByAppendingString

所以,我很确定如果我打算经常操作字符串,比如使用stringByAppendingString,我应该使用NSMutableString类型的变量.

但是,如果我做这样的事情怎么办?

UILabel *someLabel = [[UILabel alloc] init];
[someLabel setText: [[someDictionary objectForKey:@"some_key"] stringByAppendingString:@"some other string"];
Run Code Online (Sandbox Code Playgroud)

我读到如果你stringByAppendingString在NSString上使用,你最终会出现泄漏,因为与初始NSString关联的指针移动,指向append创建的新字符串,而使用NSMutableString,指针始终指向可变字符串.

所以我的问题是,当我调用stringByAppendingString一个字符串,但没有显式的NSString NSMutableString 时,隐含发生了什么?比如,在我上面的例子中,字典中某些键的值.这样做是错的,我应该做下面的事情吗?

[[[NSMutableString stringWithString:[someDictionary objectForKey:@"some_key"]] stringByAppendingString:@"some other string"]]
Run Code Online (Sandbox Code Playgroud)

string iphone nsstring uilabel nsmutablestring

4
推荐指数
1
解决办法
3297
查看次数

标签 统计

iphone ×1

nsmutablestring ×1

nsstring ×1

string ×1

uilabel ×1