Fügen Sie einem NSString eine neue Zeile hinzu

7

Ich habe das:

%Vor%

Aber ich bekomme eine Warnung:

Zuweisung von einem bestimmten Objective-C-Typ auf Build.

Wenn ich es auf dem Gerät starte, bekomme ich:

%Vor%

von gdb.

Irgendwelche Ideen, wie man eine neue Zeile an einen NSString anfügt, ohne eine Warnung oder einen Fehler zu erhalten?

Jede Hilfe geschätzt //:)

    
Spanky 09.11.2009, 08:11
quelle

6 Antworten

16

Eine Alternative ist: [NSString stringWithFormat: @"%@\n", soapResults] , auch wenn die Logik gleich ist!

Aber selbst im Falle von stringByAppendingString wird eine neue Zeichenfolge zurückgegeben, aber das Ziel wird nicht geändert. Daher müssen Sie die neue Zeichenfolge einer neuen Instanz der Klasse NSString zuweisen.

    
BitDrink 09.11.2009, 08:17
quelle
2

Du kannst es versuchen, es funktioniert für mich:

%Vor%

'

    
Alok Srivastava 26.06.2012 05:41
quelle
2

Ich habe festgestellt, dass \ n bei Verwendung von NSStrings besser funktioniert als \ n.

Also:

%Vor%     
Tim Windsor Brown 15.05.2014 14:54
quelle
1

Das von -stringByAppendingString zurückgegebene Objekt ist automatisch freigegeben. Sie müssen es behalten, wenn Sie möchten, dass es bleibt. Wenn Sie es nicht beibehalten, erhalten Sie beim nächsten Zugriff eine Speicherausnahme.

Eine einfache Möglichkeit, dies sicherzustellen, besteht darin, "soapResults" als Eigenschaft zu deklarieren und Accessoren dafür zu synthetisieren.

    
NSResponder 09.11.2009 13:11
quelle
0

Sie haben wahrscheinlich Probleme mit der Speicherverwaltung, soapResults ist wahrscheinlich ein streuer Zeiger auf ein Objekt, dessen Zuordnung aufgehoben wurde. Schwer zu sagen, ohne mehr Code zu sehen, aber zu überprüfen, wo das Objekt ursprünglich zugewiesen wurde, ist ein guter Anfang.

Wenn es beispielsweise über einen Aufruf [NSString stringWith ...] zugewiesen wurde, wird es standardmäßig automatisch freigegeben, dh es wird am Ende der Ausführungsschleife freigegeben und Sie müssen es beibehalten, wenn Sie es halten möchten darauf zu.

    
duncanwilcox 09.11.2009 08:21
quelle
0

Sie verwenden einen Schrägstrich, das bedeutet, dass Sie n ignorieren, also fügen Sie im Grunde nichts hinzu. Ich glaube, das könnte ein Problem sein.

    
user1481723 26.06.2012 05:29
quelle

Tags und Links