如何使用 swift 子类类型的数组?

How do I work with an array of swift subclass types?

我有几个 PFObject sub类 用作模型,我想在循环中对它们调用 Parse 的 registerSubclass()。这是我目前拥有的:

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

```

我使用 Calendar.self 而不是 Calendar 因为 swift 的建议是 "use .self to reference the type object"

问题是这会遍历 types,但我需要遍历 static 类.

具体错误是'PFObject.Type' does not have a member named 'registerSubClass'

如何让 swift 遍历 类 而不是类型?


我也试过:

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

首先,您在创建 Array 子类时所做的一切都是正确的,并且您的 for-in 循环也是正确的。你的错误是一个简单的错字。当您打算写 registerSubclass 时,您写了 registerSubClass。我再说一遍,处理子类数组的正确方法。