2009-08-30 14 views
5

Das ist etwas verwirrend. NSMutableString erbt von NSString, aber bedeutet das auch, dass ich einen NSMutableString überall sicher übergeben kann, wo tatsächlich ein NSString gewünscht wird? Und kann ich einem NSMutableString einen NSString zuweisen? Wie bekomme ich einen NSString aus einem NSMutableString, um Probleme zu vermeiden?Wie nimmst du einen NSString aus einem NSMutableString?

Antwort

17
  1. Ja, können Sie eine NSMutableString für einen NSString passieren. Beachten Sie jedoch, dass, wenn das übergebene Objekt einen Verweis auf dieses Objekt speichert, es alle Änderungen erkennen wird, die Sie am veränderbaren Zeichenfolgenobjekt vornehmen. Dies ist nicht immer wünschenswert.

  2. Nein, nicht möglich. Wenn Sie einen NSMutableString Zeiger hatten, der auf einen NSString zeigte und, sagen wir, appendString: darauf rief, würde das Objekt nicht wissen, wie man den Anruf bearbeitet.

    (die ersten beiden sind OO Aufnahme Polymorphismus Grundlagen)

  3. Wenn Sie eine nicht-veränderbare Zeichenfolge aus einer wandelbaren, eins zu bekommen, verwenden Sie [mutableString copy].

Verwandte Themen