Eine einfache Swift-Klasse hat ein Feld vom Typ var Array. Wenn die Klasse Objective-C angepasst ist, die Halbbild-Typ wird als NSArray (unveränderliche) ausgesetzt, während es NSMutableArray sein sollte (veränderbare)Swift-Klassenfeld vom Typ var Array wird in unveränderliches NSArray anstelle von NSMutableArray konvertiert
class Categoryy: NSObject {
var items = Array<Item>()
}
Die Categoryy SWIFT Klasse Objective-C in der Xcode generierten Header angepasst ist MODULE_NAME-swift.h Datei wie folgt:
SWIFT_CLASS("_TtC8waiterio9Categoryy")
@interface Categoryy : NSObject
@property (nonatomic, copy) NSArray * items;
- (instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
gibt es eine Möglichkeit für die var items: Array Feld auf ein veränderbares NSMutableArray in Objective-c umgewandelt werden?
Sie sind nicht in der Lage den Header NSMutableArray zu ändern? – erdekhayser
es ist keine machbare Lösung :(Der Xcode-generierte Header für Swift namens MODULE-swift.h wird gelöscht und neu erstellt von Xcode jedes Mal, wenn eine der Swift-Dateien eine Feld- oder Methodensignatur ändert. Sie können manuell den Typ ändern Felder von NSArray zu NSMutableArray, aber sobald Sie die Signatur einer schnellen Datei oder Methode ändern, gehen alle Ihre Änderungen verloren – Giorgio
Haben Sie ein Radar auf diese Datei gelegt? –