我正在编写一个测验应用程序,并且有一个表格视图来添加主题(名称保存到核心数据中),当您选择索引路径时,它将主题传递给详细视图控制器(这本身就可以正常工作) 但我遇到的问题是检查是否存在任何卡片(主题实体有一个 NSOrderedSet 的“卡片”)。我的两次尝试总是崩溃,我之前用关系和 tableViews 快速完成了这个,它一直很好,所以我不确定这里的问题是什么。感谢您一如既往的帮助!
我的第一次尝试,虽然它说“catch 块无法访问,因为在 do 块中没有抛出错误”,但它在“do”之后的行中以“Bad Instruction”崩溃
do {
if let firstCard = self.subject?.cards![0] as? Card {
self.currentCard = firstCard
}
} catch {
}
我的第二次尝试,它在第一行崩溃
if let firstCard = self.subject?.cards![0] as? Card {
self.currentCard = firstCard
}
我的第三次尝试
if self.subject!.cards != nil {
self.currentCard = self.subject!.cards![0] as! Card
}
我的第四次尝试,打开主题属性和主题,它没有响起 self.subject.cards 但仍然崩溃
if let firstCard = self.subject!.cards?[0] as? Card {
self.currentCard = firstCard
}
声明属性的位置
var draggableView = DraggableView!()
var subject : Subject?
var currentCard : Card?
var cardArray = [Card]()
使用主题方法的更新(完美运行,但放在这里仅供参考),主题是从另一个类传递的,并且在视图顶部调用的这个方法确实加载了。
func updateWithSubject(subject: Subject) {
if let subject = self.subject {
self.subject = subject
}
}