Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 域筛选器firstDate早于newDate_Ios_Swift_Realm_Nsdate - Fatal编程技术网

Ios 域筛选器firstDate早于newDate

Ios 域筛选器firstDate早于newDate,ios,swift,realm,nsdate,Ios,Swift,Realm,Nsdate,我试图从领域中获取对象,其中newDate比firstDate晚。因此,如果从firstDate开始的日期是2017年10月5日,它将在该日期之后获取对象,例如2017年10月6日,但不是2017年10月4日 以下是我存储日期的方式: class User: Object { @objc dynamic var firstDate = Date() @objc dynamic var newDate = Date() } 以下是我保存对象的方式: let date = Date

我试图从领域中获取对象,其中
newDate
firstDate
晚。因此,如果从
firstDate
开始的日期是2017年10月5日,它将在该日期之后获取对象,例如2017年10月6日,但不是2017年10月4日

以下是我存储日期的方式:

class User: Object {
    @objc dynamic var firstDate = Date()
    @objc dynamic var newDate = Date()
}
以下是我保存对象的方式:

let date = Date()
let realm = try! Realm()
let myUser = User()

myUser.firstDate = self.date
var userData: Results<User>?
if (homeIndexPathRow == 0) {
    let getData = realm.objects(User.self).filter("firstDate > newDate")
    userData = getData
    print("userData", userData!)
}
这就是我试图检索对象的方式:

let date = Date()
let realm = try! Realm()
let myUser = User()

myUser.firstDate = self.date
var userData: Results<User>?
if (homeIndexPathRow == 0) {
    let getData = realm.objects(User.self).filter("firstDate > newDate")
    userData = getData
    print("userData", userData!)
}
var用户数据:结果?
if(homeIndexPathRow==0){
让getData=realm.objects(User.self).filter(“firstDate>newDate”)
userData=getData
打印(“userData”,userData!)
}
尝试检索对象时,应用程序崩溃。。过滤器格式有问题吗?

试试这个:

var yourNSDate = NSDate()
let predicate = NSPredicate(format: "firstDate < %@", yourNSDate)
let dataResults = realm.objects(User.self).filter(predicate)
userData = dataResults
var yourNSDate=NSDate()
let predicate=NSPredicate(格式:“firstDate<%@”,yourNSDate)
让dataResults=realm.objects(User.self).filter(谓词)
userData=dataResults

如果(homeIndexPathRow==0),则将其替换为下面的代码{…

不要对可以是
nil
的值强制展开。你确定数据确实包含一些筛选器应该返回的条目吗?@DávidPásztor它应该包含条目。我在领域浏览器中打开了领域文件,得到了这样的结果:正如你所看到的,它应该很好(?)左边是
firstDate
,右边是
newDate
。没有
firstDate>newDate
的条目,所以
getData
nil
,正如预期的那样……你说你的应用程序崩溃了……是否愿意分享任何关于崩溃的信息?。@bdash错误消息只是:
libc++abi.dylib:以un终止捕获到NSException类型的异常