invalidargumentexception

___ qstnhdr ___ Was sind die Unterschiede zwischen nil, NULL und [NSNULL nil]? ___ answer6814502 ___

Nil ist für Objektzeiger

NULL ist für Nicht-Zeiger

[NSNULL null] ist ein Objekt, das "nil" darstellt, um in Fällen verwendet zu werden, in denen keine Werte zulässig sind (wie von Vince, wie in Sammlungen, z. B. NSArray und NSDictionary, hervorgehoben)

    
___ tag123iphone ___ Verwenden Sie diesen Tag NICHT, es sei denn, Sie wenden sich speziell an Apple's iPhone und / oder iPod touch. Verwenden Sie für nicht hardwareabhängige Fragen das Tag [ios]. Weitere zu betrachtende Tags sind [xcode] (aber nur, wenn es sich um die IDE selbst handelt), [swift], [objective-c] oder [cacao-touch] (aber nicht [cocoa]). Bitte verzichten Sie auf Fragen zum iTunes App Store oder zu iTunes Connect. Wenn Sie C # verwenden, markieren Sie mit [mono]. ___ answer6814485 ___

%code% ist der ursprüngliche C-artige Wert, der einem Zeiger zugewiesen wird, von dem angenommen wird, dass er auf keine explizite Adresse zeigt. Es wird im Allgemeinen nur verwendet, um "Unset" oder als Sentinel-Wert zu verstehen.

%Vor%

%code% ist die Objective-C-Version des gleichen Objekts, das auf Obj-C-Objektreferenzen angewendet wird:

%Vor%

Sie sind beide so definiert, dass sie gleich dem Wert Null sind, und obwohl sie austauschbar verwenden könnte, wird ersteres hauptsächlich in Obj-C für traditionelle Zeiger verwendet (wie das Setzen von %code% Kontextzeigern) bis NULL) und %code% wird für alle Obj-C Objektreferenzen verwendet.

Der Unterschied besteht darin, dass, obwohl die Obj-C-Syntax auf Cs liegt, das Design der Sprache höher ist und die Objekt-IDs sind nicht konzeptionell gleich wie nur" Zeiger ". Daher die Schaffung eines besonderen Wächters für sie.

%code% ist ein Objekt beabsichtigt , in sehr bestimmten Fällen verwendet zu werden (z. B. Einfügen in Sammlungen), wenn ein "nicht wert" -Wert gewünscht ist, aber das tatsächliche %code% nicht erlaubt ist und ein Objekt verwendet werden muss.

Beachten Sie, dass %code% und %code% sehr ähnlich stringify: %code% stringiert als %code% und %code% als %code% .

    
___ tag123null ___ Null bedeutet * nichts * oder * unbekannt *, abhängig vom Kontext. ___ answer6814450 ___

%code% ist ein Wrapper für den %code% -Wert, den Sie in die Sammlung einfügen möchten, wenn Sie möchten.

NSNull Klassenreferenz.

Sie können auch vorher prüfen, ob eine Objektreferenz %code% einfach mit %code% ist.

Auch %code% ist definiert als: %code% und ist Objective C äquivalent für C %code% .

    
___ tag123objectivec ___ Dieses Tag sollte nur bei Fragen verwendet werden, die sich auf Objective-C-Features beziehen oder von Code in der Sprache abhängen. Die Tags [Kakao] und [Kakao-Touch] sollten verwendet werden, um nach Frameworks oder Klassen von Apple zu fragen. Verwenden Sie die zugehörigen Tags [ios], [macos], [apple-watch] und [tvos] für Probleme, die für diese Plattformen spezifisch sind. ___ tag123invalidargumenttexception ___ hilf uns dieses Wiki zu bearbeiten ___ qstntxt ___

Ich habe einen Fehler wie folgt erhalten - * Beenden der App aufgrund der nicht abgefangenen Ausnahme 'NSInvalidArgumentException', Grund: ** - [NSCFDictionary initWithObjects: forKeys: count:]: Versuch, nil-Wert an Objekten einzufügen [0] ( Schlüssel: gesucht) '

Dann habe ich den folgenden Code ausprobiert

%Vor%

Und ich habe die NSLog-Nachricht als "Obj is nil".

Aber wenn ich denselben obigen Code benutzte, als Obj NSString war und meine App wegen Nil-Wert beendet wurde, bekam ich die NSLog-Nachricht als 'Obj is (id) [NSNull null]'.

Was sind die Unterschiede zwischen nil, NULL und [NSNULL nil]?

Gibt es verschiedene Arten von Nullwerten? Wenn ja, wie wird häufig nach diesen Nullwerten gesucht ?

Danke: -)

    
___
3
Antworten

Was sind die Unterschiede zwischen nil, NULL und [NSNULL nil]?

Ich habe einen Fehler wie folgt erhalten - * Beenden der App aufgrund der nicht abgefangenen Ausnahme 'NSInvalidArgumentException', Grund: ** - [NSCFDictionary initWithObjects: forKeys: count:]: Versuch, nil-Wert an Objekten einzufügen [0] ( Sc...
25.07.2011, 09:59