NSDate在Realm,Swift中按日过滤 [英] Filter by day from NSDate in Realm, Swift
本文介绍了NSDate在Realm,Swift中按日过滤的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
NSDate
放在Realm模型中: class GeneralList:Object {
dynamic var createdAt = NSDate()
dynamic var notes =
}
如何在27.03.2016获得所有'notes'?
解决方案
所以,我找到了简单的方法:
$ b
-
为String创建公共扩展,并使用单独的NSDate创建函数:
public static func sepaDate(whatNeed:String) - >字符串{
var currentDate = NSDate()
让calendar = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)
让dateComponents = calendar!.components([。Day,.Month,.Year ,.Minute,.Hour],fromDate:currentDate)
var forReturn:String =0
switch whatNeed {
caseday:
let value = String(dateComponents .day)
forReturn =估值
案例month:
让valu = String(dateComponents.month)
返回=估值
案例year:
let value = String(dateComponents.year)
forReturn = value
casehour:
let value = String(dateComponents.hour)$ b $ forReturn = valu
caseminute:
let value = String(dateComponents.minute)
forReturn = valu
default:print(Error)
}
return forReturn
code $ <$ $ $ $ $ $ $ $ $ $ $ $ <$>在Realm类中,cre吃了单独的日期:
dynamic var minute = String.sepaDate(minute)
dynamic var hour = String。分隔符(小时)
动态var日= String.sepaDate(日)
动态var月= String.sepaDate(月)
动态var年= String.sepaDate year)
-
在ViewController中调用谓词
let dayday = String(dateComponents.day)
let monthmonth = String(dateComponents.month)
let yearyear = String(dateComponents.year)
let predicate = NSPredicate(format:day =%@ AND month =%@ AND year =%@,dayday,monthmonth,yearyear)
generalRecords = uiRealm.objects(GeneralList).filter(predicate )
我希望这有助于某人...
So, I put NSDate
in Realm model:
class GeneralList: Object {
dynamic var createdAt = NSDate()
dynamic var notes = ""
}
How to get, for example, all 'notes' in 27.03.2016 ?
解决方案
So, I find easy way:
Create public extension for String and create function with separate NSDate:
public static func sepaDate(whatNeed: String) -> String { var currentDate = NSDate() let calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian) let dateComponents = calendar!.components([.Day, .Month, .Year, .Minute, .Hour], fromDate: currentDate) var forReturn: String = "0" switch whatNeed { case "day": let valu = String(dateComponents.day) forReturn = valu case "month": let valu = String(dateComponents.month) forReturn = valu case "year": let valu = String(dateComponents.year) forReturn = valu case "hour": let valu = String(dateComponents.hour) forReturn = valu case "minute": let valu = String(dateComponents.minute) forReturn = valu default: print("Error") } return forReturn } }
In Realm class, create separate date:
dynamic var minute = String.sepaDate("minute") dynamic var hour = String.sepaDate("hour") dynamic var day = String.sepaDate("day") dynamic var month = String.sepaDate("month") dynamic var year = String.sepaDate("year")
In ViewController call to predicate
let dayday = String(dateComponents.day) let monthmonth = String(dateComponents.month) let yearyear = String(dateComponents.year) let predicate = NSPredicate(format: "day = %@ AND month = %@ AND year = %@", dayday, monthmonth, yearyear) generalRecords = uiRealm.objects(GeneralList).filter(predicate)
I hope it's help somebody...
这篇关于NSDate在Realm,Swift中按日过滤的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文