【发布时间】:2017-03-05 05:47:11
【问题描述】:
我有一个EventDec 实体,它具有eventStatus 属性,我只想显示该属性的结果。这是我的代码
let fetchRequestDec = NSFetchRequest<NSFetchRequestResult>(entityName: "EventDec")
fetchRequestDec.predicate = NSPredicate(format:"eventStatus = %i")
let result = fetchRequestDec.predicate
if (result == 1)
{
print("Status = 1")
}
else
{
print("Status = 2")
}
因此,当我收到此错误时,我正在过滤错误。我该如何解决这个问题?
二元运算符 '==' 不能应用于 NSpredicate 和 int
【问题讨论】:
-
不是过滤,而是结果 == 1 行。 result 是一个 NSPredicate,1 是一个 int,因此不能使用二元运算符 '=='。
-
好的,那你怎么解决这个问题
-
要么为 result 赋值一个 int 值(让 result = 4 或其他),要么将它与另一个 NSPredicate 进行比较(如果 result == NSPredicate(format:"eventStatus = 6"))。如果没有关于这个 sn-p 应该做什么的更多信息,我无法确切地告诉你该怎么做。你到底在检查什么?
-
eventStatus 包含值 1 和 2。所以我喜欢显示 eventStatus 内部的内容,以便我可以相应地显示消息
-
好的。我会在一分钟内给你一个答案。我想确认我的子字符串知识是最新的。
标签: swift xcode core-data nsfetchrequest