Prosta klasa Swift ma pole typu var Array. Gdy grupa jest przystosowana do celu C typ pola jest narażony NSArray (niezmiennej), podczas gdy powinna być NSMutableArray (zmienny)Pole klasy Swift typu var Array jest konwertowane na niezmienny NSArray zamiast NSMutableArray
class Categoryy: NSObject {
var items = Array<Item>()
}
Categoryy szybki klasa jest przystosowana do celu C w nagłówku Xcode generowane plik module_name-swift.h następująco:
SWIFT_CLASS("_TtC8waiterio9Categoryy")
@interface Categoryy : NSObject
@property (nonatomic, copy) NSArray * items;
- (instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
czy istnieje sposób na pozycje var: pole Array być konwertowane na zmienny NSMutableArray w Objective-C?
nie są w stanie zmienić nagłówek do NSMutableArray? – erdekhayser
To nie jest wykonalne rozwiązanie :(Wygenerowany przez Xcode nagłówek Swift o nazwie MODULE-swift.h jest wymazywany i ponownie tworzony przez Xcode za każdym razem, gdy jeden z plików SWIFT zmienia podpis pola lub metody. Możesz zmienić ręcznie typ pola od NSArray do NSMutableArray, ale gdy tylko zmienisz podpisy pól lub metod pliku swift, wszystkie twoje zmiany zostaną utracone – Giorgio
Czy zgłosiłeś w tym celu radar? –