2015-04-03 33 views
1

我有几个PFObject子类用作模型,我想在他们的循环中调用Parse的registerSubclass()。下面是我目前:如何使用swift子类类型的数组?

let subclasses: [PFObject.Type] = [ 
     Calendar.self, 
     Meeting.self, 
     UserSetting.self, 
     Setting.self 
    ] 
    for subclass in subclasses { 
     subclass.registerSubClass() 
    } 

```

我使用Calendar.self,而不是Calendar因为SWIFT的建议说“使用.self引用类型的对象”

的问题是这重复类型,但我需要遍历静态类

特定的错误是'PFObject.Type' does not have a member named 'registerSubClass'

我如何在类迅速迭代,而不是类型?


我也曾尝试:

let subClasses: [PFObject] = [Calendar, ...] 

但这不起作用:抱怨创建类型的实例Calendar

也试过:

let subClasses: [PFObject.Type] = [Calendar, ...] 

但是这给expected member name or constructor after type call,并建议Use '.self' to reference the type object,这是我如何使用顶级方法Calendar.selfMeeting.self

回答

1

首先,你做的一切就在你的子类的Array的创造,你for-in循环是正确的为好。你的错误是一个简单的错字。当你打算写registerSubclass时,你写了registerSubClass。我再说一遍,这个正确的方式来处理一个子类的数组。

+0

Herp derp。感谢您注意到这一点。 – 2015-09-17 21:40:51