Hier ist, was ich tun möchte:Wie speichere ich einen NSRange in einem NSMutableArray oder einem anderen Container?
[a addObject: [NSNumber numberWithBool: YES]];
oder mit einer ganzen Zahl:
NSRange r = NSMakeRange(0,5);
id a = [NSMutableArray a];
[a addObject: r]; // but NSRange is not a NSObject *
Mit einem boolean, ich Code verwenden würde
[a addObject: [NSNumber numberWithInteger: 3]];
Was ist also die Entspricht einem NSRange
? Was ich nicht wirklich tun möchte, ist meine eigene Unterklasse von NSObject
zu schaffen, um dies zu erreichen. Sicherlich gibt es einen Weg mit dem, was Apple bereits zur Verfügung gestellt hat?
Warum konnte NSValue NSRange speichern, aber NSArray konnte nicht? – antonio081014
Weil 'NSArray' nur Objekte speichern kann. 'NSRange' ist kein Objekt, aber Sie können es mit' NSValue' umhüllen, so dass es von 'NSArray',' NSDictionary' usw. verwendet werden kann. –
während der Iteration durch das NSMutable-Array, NSRange r = a [i] .rangeValue gibt Fehler wie der Wert des Eigenschaftenbereichs nicht in der Typ-ID gefunden wird ... –