Es gibt eine literale Syntax zum Hinzufügen von Objekten und Ändern von Objekten in einem NSMutableDictionary, gibt es eine literale Syntax zum Entfernen von Objekten?Gibt es die NSMutableDictionary-Literalsyntax zum Entfernen eines Elements?
Antwort
Ja, aber ... :-)
Dies ist standardmäßig nicht unterstützt, aber die neue Syntax für Wörterbuch Elemente Einstellung verwendet die Methode setObject:forKeyedSubscript:
eher als setObject:forKey:
. So können Sie eine Kategorie schreiben, die den ehemaligen ersetzt und entweder setzt oder entfernt das Element:
@implementation NSMutableDictionary (RemoveWithNil)
- (void) setObject:(id)obj forKeyedSubscript:(id<NSCopying>)key
{
if (obj)
[self setObject:obj forKey:key];
else
[self removeObjectForKey:key];
}
@end
hinzufügen, dass auf Ihre Bewerbung und dann:
dict[aKey] = nil;
wird ein Element entfernen.
Es ist nett +1. – Avt
@JoshCaswell - Fragte, wer das erhöhen könnte. * Offiziell * Apple ermutigen dies nicht, aber verwenden Sie es selbst, um Methoden zu ersetzen ... Was vermieden werden muss, ersetzt die gleiche Methode mit verschiedenen Kategorien, dann sind alle Wetten ab, welche Methode aufgerufen wird; Aber bis Apple das Training selbst beendet, sollte das gut funktionieren. Sie können die Umgebungsvariable 'OBJC_PRINT_REPLACED_METHODS' auf' YES' setzen, um alle Methoden zu sehen, die auf diese Weise ersetzt werden (in Xcode setzen Sie sie im Schema). – CRD
Nein. Es gibt keine. Ich habe versucht Beweis Link zu finden, aber nicht gelungen :)
Sie können die LLVM-Seite verknüpfen, die alle Literale auflistet. – Sulthan
Ab iOS 9 und Mac OS 10.11, sind diese zwei gleichwertige:
[dictionary removeObjectForKey:@"key"];
dictionary[@"key"] = nil;
die Foundation release notes See.
- 1. Gibt es ein CSS zum Ausrichten einer Box/eines Elements?
- 2. Gibt es eine exposed-Funktion zum Entfernen eines Elements aus einer Liste?
- 3. Jquery: Gibt es trotzdem die Einzigartigkeit eines Elements?
- 4. Erstellen eines Elements, das es selbst entfernen kann?
- 5. Entfernen eines div-Elements mit coffeescript
- 6. ASP.NET Entfernen eines Elements aus Sitzung?
- 7. Hinzufügen eines Elements zum Anfang eines Gruppenelements
- 8. Entfernen eines Elements aus einer JSON-Antwort
- 9. Entfernen Sie inline css eines HTML-Elements
- 10. Entfernen eines Elements aus einer gefilterten ArrayCollection
- 11. Java Entfernen eines bestimmten Elements von ConcurrentHashMap
- 12. WPF - Die beste Methode zum Entfernen eines Elements aus der ItemsSource
- 13. Die beste Methode zum Entfernen eines Elements aus einer Liste innerhalb einer Karte in Immutable.js
- 14. Erhalte die ID eines Elements
- 15. jQuery Anfügefunktion zum 'Laden' Ereignis eines Elements
- 16. Entfernen eines Elements eines Arrays, entfernt alle Javascript
- 17. Entfernen eines Elements aus einer Liste, ohne es aus seiner Datenquelle zu entfernen - C#
- 18. Angular2 (JavaScript) - Gibt den Wert eines Elements
- 19. Octave - entfernen Vorkommen eines Elements in einem Zellenfeld
- 20. Auswählen eines Elements innerhalb eines übergeordneten Elements eines anderen
- 21. Entfernen eines Elements aus ListView in einem benutzerdefinierten Adapter
- 22. Gibt es eine Möglichkeit, die Entfernung eines Elements von einem anderen in jQuery zu finden?
- 23. Gibt es ein jQuery Autocomplete-Plugin, das die Auswahl eines Elements erzwingt?
- 24. Entfernen eines übergeordneten Elements beim Klicken mit jQuery
- 25. Entfernen eines Elements aus dem Admin-Panel von Magento Navigation
- 26. Entfernen eines Elements aus einem Javascript-Array verursacht Probleme
- 27. Erhalte die Randgröße eines Elements mit jquery
- 28. Die Abmessungen eines Elements mit SCSS erhalten?
- 29. Gibt es eine Möglichkeit, einen Typ eines einzelnen Elements eines Arrays in C++
- 30. zum Entfernen des ersten und letzten Elements im Array
Nein, gibt es nicht. –
Ich habe es nicht versucht (weg von einem Compiler im Moment), aber was passiert, wenn Sie versuchen, einen Wert auf "Null" zu setzen? 'dict [aKey] = nil;' –
@JoshCaswell Das Speichern von Nil im Wörterbuch führt zum Absturz. – Boon