这有点令人困惑。 NSMutableString继承自NSString,但这是否意味着我可以安全地将NSMutableString传递到实际需要NSString的地方?我可以将NSString分配给NSMutableString吗?我如何从NSMutableString中获取NSString以避免出现问题?
答案 0 :(得分:17)
是的,您可以为NSMutableString
传递NSString
。但是,请注意,如果传递它的对象存储对此对象的引用,它将“看到”您对可变字符串对象所做的所有更改。这并不总是可取的。
不,不可能。如果您的NSMutableString
指针指向NSString
并在其上调用appendString:
,则该对象将不知道如何处理该调用。
(前两个是OO包含多态性基础)
如果您想从可变字符串中获取不可变字符串,请使用[mutableString copy]
。