簡體   English   中英

&#39;Int&#39;不能轉換為&#39;Range <Int> &#39;在檢查屬性值時

[英]'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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM