Ich habe festgestellt, dass alle @ "" Objekte eine Referenz für alle Zeiten erstellen, in denen sie ausgeführt wird.Erstellt XCode ein Objekt für alle leeren Strings?
NSString *[email protected]"";
NSString *[email protected]"";
In diesem Beispiel ist s1 gleich s2.
@ "" erstellt in jedem Fall einen Zeiger, jedes Mal wenn ich ihn benutze?
Kann ich diese Funktion beim Vergleichen von Strings in objective-c verwenden?
Oder einfach, kann ich mit dieser Aussage, wenn ich versichern möchte, dass meine String leer ist:
if(s == @""){
//do something
}
Es gibt keine Garantie, dass zwei leere Zeichenfolgen tatsächlich auf den gleichen Speicherort im Speicher verweisen. Es ist eine Compiler-Optimierung, die ausgeschaltet werden kann. – bbum