我知道所有的NSString实例都是不可变的。如果你给一个字符串赋新值,那么新的内存地址将被寻址,旧的字符串将会丢失。
但是如果你使用NSMutableString,那么无论你做什么,这个字符串始终会保持它在内存中相同的地址。
我想知道这是如何实现的。使用replaceCharactersInRange等方法,我甚至可以向字符串中添加更多的字符,因此需要更多的内存空间。那么跟随字符串的其他对象会发生什么?它们是否都被重新定位并放置在内存的其他位置?我认为不是这样的。但真正发生了什么呢?
但是如果你使用NSMutableString,那么无论你做什么,这个字符串始终会保持它在内存中相同的地址。
我想知道这是如何实现的。使用replaceCharactersInRange等方法,我甚至可以向字符串中添加更多的字符,因此需要更多的内存空间。那么跟随字符串的其他对象会发生什么?它们是否都被重新定位并放置在内存的其他位置?我认为不是这样的。但真正发生了什么呢?