【发布时间】:2014-12-21 10:42:36
【问题描述】:
我正在尝试将以下 Objective-C 代码转换为 Swift。在我的 Objective-C 代码中,有一个静态变量,它是从类方法中访问的。
@implementation SomeClass
static NSMutableArray *_items;
+ (void)someMethod {
[_items removeAll];
}
@end
由于您无法从 Swift 中的类函数中访问像 private var items = [AnyObject]() 这样声明的类型,因此我为它创建了这样的存储属性。
class var items: [AnyObject] {
return [AnyObject]()
}
我正在尝试从这样的类函数中调用它的方法。
class func someFunction() {
items.removeAll(keepCapacity: false)
}
但我收到此错误“[AnyObject]”类型的不可变值只有名为“removeAll”的变异成员。
谁能告诉我这个错误的原因是什么以及如何纠正它?
谢谢。
【问题讨论】:
-
在尝试解决您的问题时,我通过执行“
var items:Array<AnyObject> = [];”修复了您的编译错误
标签: ios class swift static-methods static-members