2009-08-30 10 views
5

To trochę zagmatwane. NSMutableString dziedziczy z NSString, ale czy to oznacza również, że mogę przekazać NSMutableString gdziekolwiek bezpiecznie, gdzie faktycznie potrzebne jest NSString? I czy mogę przypisać NSString do NSMutableString? Jak mogę uzyskać NSString z NSMutableString, aby uniknąć problemów, jeśli w ogóle?Jak usunąć NSString z NSMutableString?

Odpowiedz

17
  1. Tak, można zdać NSMutableString dla NSString. Należy jednak pamiętać, że jeśli obiekt, który zostanie przekazany, aby zapisać odniesienie do tego obiektu, "zobaczy" wszystkie zmiany wprowadzone w zmiennym obiekcie tekstowym. Nie zawsze jest to pożądane.

  2. Nie, niemożliwe. Jeśli masz wskaźnik NSMutableString wskazujący na NSString i wywołany na nim, powiedzmy, appendString:, obiekt nie będzie wiedział, jak przetworzyć wywołanie.

    (dwa pierwsze są OO Podstawy polimorfizmu włączenie)

  3. Jeśli chcesz dostać zakaz zmienny łańcuch z jednego zmienny, należy [mutableString copy].