Objective c 斯威夫特没有';t从框架中选择NSMutableArray类型注释
我已经在objC中创建了一个框架,并且正在主项目的Swift文件中为一个类创建扩展名。 我(在框架中)对该类进行了如下注释:Objective c 斯威夫特没有';t从框架中选择NSMutableArray类型注释,objective-c,swift,macos,Objective C,Swift,Macos,我已经在objC中创建了一个框架,并且正在主项目的Swift文件中为一个类创建扩展名。 我(在框架中)对该类进行了如下注释: @interface GerberStepAndRepeat : GerberElement <GerberBlock> @property (nonatomic,strong,nonnull) NSMutableArray<GerberLevel *> *levels; @end extension GerberStepAndRepeat {
@interface GerberStepAndRepeat : GerberElement <GerberBlock>
@property (nonatomic,strong,nonnull) NSMutableArray<GerberLevel *> *levels;
@end
extension GerberStepAndRepeat {
func flatten() {
for level in self.levels {
}
}
}
然后将levels
属性键入NSMutableArray
,将level
变量键入元素
为什么它不显示我在框架中指定的类型?是否需要调整任何设置以使其正常工作?来自(添加了强调):
NSArray
、NSSet
和NSDictionary
类型的Objective-C声明
使用轻量级通用参数化由Swift导入
有关其保存内容类型的信息。
…
除了这些基础集合类之外,Objto-C
轻量级泛型被Swift忽略。使用
轻量级泛型被导入Swift,就好像它们是
未经修饰的
<代码> NSMutableArray <代码>不在基础类型列表中
轻量级通用参数化保留在Swift中
示例:Objective-C属性
@property(strong, nonatomic, nonnull) NSArray<NSString *> *anArrayProperty;
@property(strong, nonatomic, nonnull) NSMutableArray<NSString *> *aMutableArrayProperty;
public var anArrayProperty: [String]
public var aMutableArrayProperty: NSMutableArray