[英]'Int' is not convertible to 'Range<Int>' when checking property value
我有一個NSManagedObject
的子NSManagedObject
,當使用控制流語句檢查實例的屬性值是否為nil時,出現以下錯誤;
'Int'不能轉換為'Range
我想做的是檢查屬性值是否具有值(如果有),然后創建該值的實例(值類型是NSManagaedObject的另一個子類)。
子類:
class Items: NSManagedObject {
@NSManaged var index: NSNumber
@NSManaged var title: String
@NSManaged var folder: Folder
}
檢查值時錯誤出現在我的表格視圖中-我獲取所有Items對象並轉換為數組以在表格視圖中顯示:
錯誤
var folder: Folder!
//Error occurs here
if self.items[indexPath!.row].folder != nil {
folder = self.items[indexPath!.row].folder
}
我不確定為什么會發生這種情況以及如何解決該問題,有人對我想做的事情有任何解決方案嗎?
我使用obj-c,而不是Swift。 什么是文件夾對象? 我找不到任何文檔。
在不了解該對象的情況下,可以嘗試:
if self.items[indexPath!.row].folder {
folder = self.items[indexPath!.row].folder
}
如果文件夾不是nil,則應該起作用。 但是,您必須驗證您認為的nil文件夾沒有使您進入該if語句。 不知道文件夾是什么,我不知道如何將其視為條件。
我找到了一個解決方案,方法是將值添加到實例,然后檢查實例的值是否為nil。 仍然不確定為什么我會收到原始錯誤。
var folder: Folder!
shelf = items[indexPath!.row].folder
if folder != nil { println"ok" }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.