我有一個字段存儲在一個名爲「metadata」的核心數據對象中,該對象的類型爲String
(不可選,因爲Apple文檔不會與CD中的optionals混淆) 。有時,元數據字段爲零。在檢查該值是否是零,我做以下檢查:Swift - 將一個零核心數據字符串作爲一個可選值
if object.metadata as String? != nil {
...
}
然而,我的代碼一直在這條線爲EXC_BAD_ACCESS
崩潰。我也試過:
if let metadata = object.metadata as String? {
...
}
哪一個也不行。我在我的代碼的其他部分成功地將對象投射到可選項,所以我不明白爲什麼這個特殊情況不起作用。你如何檢查覈心數據屬性是否爲零字符串?
可能有助於看到崩潰的更多細節。可能與鑄造無關,而與對象及其分配無關。另外,當你說你已經在你的代碼的其他部分成功鑄造了對象時,他們是否也是字符串?每次都是撞車嗎? – shim 2014-12-10 22:16:18
@shim是 - 事實上,完全相同的屬性。我有這個屬性的三個對象。前兩個不是零,它通過罰款。最後一個是零,這就是它崩潰的地方 – user3781236 2014-12-10 22:19:05
也許發佈NSManagedObject子類文件? – shim 2014-12-10 22:20:03