#keyPath 而不是直接将键作为字符串传递有什么用?
What is the use of #keyPath rather than directly passing key as a String?
这两种格式之间的有用区别是什么:
request.sortDescriptors = [NSSortDescriptor(key:"dateCreated", ascending: false)]
和
request.sortDescriptors = [NSSortDescriptor(key: #keyPath(Note.dateCreated), ascending: false)]
第二种格式#keyPath 让我感到困惑。它到底是什么,我在哪里可以阅读更多相关信息?
没有区别
key:"dateCreated"
和
key: #keyPath(Note.dateCreated)
两者都将使用 Note
对象的 dateCreated
属性 进行排序
后者具有避免硬编码问题的优势 e.x 编写 datCreated
而不是 dateCreated
会引发编译时错误,因此它可以安全地避免 run-time 肯定会发生的崩溃在相同情况下与前者发生
这两种格式之间的有用区别是什么:
request.sortDescriptors = [NSSortDescriptor(key:"dateCreated", ascending: false)]
和
request.sortDescriptors = [NSSortDescriptor(key: #keyPath(Note.dateCreated), ascending: false)]
第二种格式#keyPath 让我感到困惑。它到底是什么,我在哪里可以阅读更多相关信息?
没有区别
key:"dateCreated"
和
key: #keyPath(Note.dateCreated)
两者都将使用 Note
对象的 dateCreated
属性 进行排序
后者具有避免硬编码问题的优势 e.x 编写 datCreated
而不是 dateCreated
会引发编译时错误,因此它可以安全地避免 run-time 肯定会发生的崩溃在相同情况下与前者发生