ios - 检查属性值时,“Int”无法转换为 'Range<Int>'

标签 ios swift if-statement core-data

我有一个 NSManagedObject 的子类,当使用控制流语句检查实例的属性值是否为零时,出现以下错误;

'Int' is not convertible to 'Range

我想要做的是检查属性值是否有值,如果有,则创建该值的实例(值类型是 NSManagaedObject 的另一个子类)。

子类:

class Items: NSManagedObject {

@NSManaged var index: NSNumber
@NSManaged var title: String
@NSManaged var folder: Folder

}

检查值时在我的 TableView 中出现错误 - 我获取所有 Items 对象并转换为数组以在 TableView 中显示:

错误

  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 语句。在不知道文件夹是什么的情况下,我不知道如何将其视为条件。

关于ios - 检查属性值时,“Int”无法转换为 'Range<Int>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31843738/

相关文章:

ios - 如何在 Xamarin 中创建可点击的 URL?

ios - iPad 上的 iOS 10.1.1 应用商店拒绝 iPhone 应用

ios - 全宽 Webview iOS 问题

r - 测试 NA 并根据结果选择值

if-statement - Shiny 的多个 IF if 语句

android - 多平台应用程序开发与操作系统开发

ios - RxCoreData UI 没有更新

xcode - (Swift) 使用 NSDataFormatter 和中等样式字符串来获取日期

swift - 没有 '+"候选人产生预期的上下文结果类型 'AnyObject' Swift 3 中的错误

java - 查找某个项目在数组中出现的次数