【发布时间】:2012-06-15 11:21:10
【问题描述】:
我对 NSString 和 NSMutable 字符串用法感到困惑。
假设我在类中声明了实例变量一和二:
NSString *one;
NSMutableString *two;
假设我已经使用属性创建了它们的 setter 和 getter。
假设我已经改变了我的“两个”字符串,如下所示:
1. [two appendString:@"more string"];
2. two = @"string"
3. self.two = @"string"
问题:
第一行是否会释放先前的字符串并分配新对象并为其赋值。 如果是,那么这是否意味着在这种情况下创建 getter 和 setter 是不必要的?或者不必在
NSMutablestring中创建属性在这种情况下,之前分配的字符串对象会被释放吗?
- 当我们在这里调用 setter 时,肯定会释放第一个对象。这段代码是必要的还是我们可以使用代码行 2 来分配字符串。
现在关于NSString:
也可以像这样修改字符串:
one = [one stringByAppendingString:@" more string"];
self.one = [one stringByAppendingString:@" more string"];
使用 NSMutablestring 或 NSString 哪个更好?
很抱歉发了很长的帖子,但我需要了解这些概念。
【问题讨论】:
标签: iphone objective-c ios nsstring