如何使用 swift 子类类型的数组?
Posted
技术标签:
【中文标题】如何使用 swift 子类类型的数组?【英文标题】:How do I work with an array of swift subclass types? 【发布时间】:2015-06-08 18:11:15 【问题描述】:我有几个PFObject
子类用作模型,我想循环调用Parse 的registerSubclass()
。这是我目前拥有的:
let subclasses: [PFObject.Type] = [
Calendar.self,
Meeting.self,
UserSetting.self,
Setting.self
]
for subclass in subclasses
subclass.registerSubClass()
```
我使用 Calendar.self
而不是 Calendar
,因为 swift 的建议说 “使用 .self
引用类型对象”
问题是这会迭代 types,但我需要迭代 static classes。
具体错误为'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.self
、Meeting.self
等达到***方法的方式。
【问题讨论】:
【参考方案1】:首先,您在创建Array
子类时所做的一切都是正确的,并且您的for-in
循环也是正确的。您的错误是一个简单的错字。当您打算写registerSubclass
时,您写了registerSubClass
。我再说一遍,这是处理子类数组的正确方法。
【讨论】:
Herp derp。感谢您注意到这一点。以上是关于如何使用 swift 子类类型的数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 SKNode.children 数组访问 SKNode 子类方法?