【问题标题】:NSString or NSMutableString for ivar?用于 ivar 的 NSString 或 NSMutableString?
【发布时间】:2011-07-13 18:30:09
【问题描述】:

我知道如果您打算更改字符串对象的内容,那么您应该使用 NSMutableString。这是否适用于作为实例变量的字符串对象?如果我有:

 @property (nonatomic,retain) NSString* map;

我可以随时更改 self.map 并且仍然认为它没问题吗?我实际上正在这样做,但我突然想到以这种方式这样做可能没有意义,而我的 ivar 应该是一个 NSMutableString 。我只是在做这样的事情:

self.map=@"Georgia";

/// in another method, later:

self.map=@"Montana";

它有效,但从技术上讲,map 是不可变的,所以也许这不明智?

【问题讨论】:

    标签: objective-c


    【解决方案1】:

    这是常见的方法。在我看来,当你可以替换它时,你不需要使用可变字符串。可变字符串被设计为“内容操纵”。

    【讨论】:

      【解决方案2】:

      在这种情况下,可变性是指字符串的内容,而不是对它的对象引用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-26
        • 1970-01-01
        相关资源
        最近更新 更多