NSMutableString stringByReplacingOccurrencesOfString Warnung

8

Ich habe eine RSS-Parser-Methode und muss Whitespace und anderen Unsinn aus meiner extrahierten HTML-Zusammenfassung entfernen. Ich habe einen NSMutableString-Typ 'currentSummary'. Wenn ich anrufe:

%Vor%

Xcode sagt mir "Warnung: Zuweisung von verschiedenen Objective-C-Typ"

Was ist daran falsch?

    
quantum 30.10.2009, 00:10
quelle

3 Antworten

38

Wenn currentSummary bereits ein NSMutableString ist, sollten Sie nicht versuchen, ihm einen regulären NSString (das Ergebnis von stringByReplacingOccurrencesOfString:withString: ) zuzuweisen.

Verwenden Sie stattdessen das veränderbare Äquivalent replaceOccurrencesOfString:withString:options:range: oder fügen Sie vor der Zuweisung einen Aufruf zu mutableCopy hinzu:

%Vor%     
Tim 30.10.2009, 00:13
quelle
3

Das funktioniert natürlich auch gut für verschachtelte Elemente:

* Bearbeitet *

%Vor%

Der unten stehende Code, wie er im obigen Anwendungsfall gezeigt wird, könnte hilfreich sein.

%Vor%     
Pat 21.12.2011 03:21
quelle
0

Das bedeutet normalerweise, dass Sie die Sterne in der Definition von (in diesem Fall) currentSummary gelöscht haben.

Sie haben also wahrscheinlich:

%Vor%

wenn Sie brauchen:

%Vor%

Da im ersten Fall Objective-C-Klassen in Typstrukturen definiert sind, denkt der Compiler, dass er versucht, einer Struktur einen NSString zuzuweisen.

Ich mache diesen Tippfehler regelmäßig.

    
TechZen 30.10.2009 00:22
quelle

Tags und Links