widzisz tego powodu NSString jest klaster klasa. Zobacz dokumentację Apple here, aby uzyskać ogólne wyjaśnienie, i here dla notatek dotyczących podklasy NSString. Zasadniczo NSString jest klasą abstrakcyjną bez metody przechowywania znaków, a różne metody -initWith ... zwracają różne konkretne podklasy NSString w oparciu o metodę inicjalizacji. Zwykle, gdy używasz NSString, jest to całkowicie przezroczyste. Jeśli jednak chcesz podklasę NSString, musisz przynajmniej zaimplementować podstawowe metody (-length i -characterAtIndex :) oraz wszelkie metody init, które chcesz mieć (plus, oczywiście, mieć sposób przechowywania znaków ciągu).
Jeśli chcesz tylko dodać funkcjonalność do NSString, zazwyczaj nie jest konieczne tworzenie podklas. Najpierw powinieneś sprawdzić, czy kategoria lub funkcja działająca na NSString, czy metoda na klasie, która zawiera NSString, będzie działała lepiej. Na przykład zobacz RegexKit lub Google Toolbox For Mac, z których oba implementują obsługę wyrażeń regularnych, używając kategorii na NSString.
Czy przydzieliłeś tę instancję? –
Pokaż swój kod. –