【发布时间】:2014-11-17 21:53:59
【问题描述】:
我有一个超类UIViewController,其中包含:
var results: [AnyObject] = []
我在超类中还有其他基于results 数组内容的方法。
然后,通过从 REST API 加载数据以使用各种类型的数据填充 results 数组,我拥有从该超类继承的子类。
我目前不覆盖子类中的results 数组viewDidLoad() 或任何其他方法。我只需使用results = [] 清除数组,然后使用特定类类型加载数组,例如自定义类Product 或String。
results.append(Product())
我时常发生崩溃,但我不知道为什么。我怀疑这是由于继承的工作方式。我这样做正确吗?我应该在子类的init() 方法中覆盖results 还是使用`override var?
【问题讨论】:
-
我认为你的问题有一些错误。您是否创建了一个全新的
UIViewController类?因为您无法将存储的属性添加到现有类(您没有源代码),或覆盖方法中的属性。或者,也许您将 superclass 和 subclass 与其他东西混淆了。可能一些代码会有所帮助...另外,最好知道在哪里崩溃发生 -
在此处粘贴崩溃堆栈跟踪不会伤害任何人。
-
抱歉,我现在无法访问代码。我可以稍后发帖。超类是 uiviewcontroller 的子类的新类。它包含一个表视图,它也实现了表委托。子类定义了如何加载特定类型的表。它在 results.append() 处崩溃。
-
我也在尝试将
lazy添加到 var 中。不确定这是否有帮助。
标签: ios arrays inheritance swift