於是,我把NSDate
在領域模型:篩選由境界從NSDate的一天,斯威夫特
class GeneralList: Object {
dynamic var createdAt = NSDate()
dynamic var notes = ""
}
如何獲得,例如,所有2016年3月27日的「注意」?
於是,我把NSDate
在領域模型:篩選由境界從NSDate的一天,斯威夫特
class GeneralList: Object {
dynamic var createdAt = NSDate()
dynamic var notes = ""
}
如何獲得,例如,所有2016年3月27日的「注意」?
所以,我找到簡單的方法:
爲字符串創建公共延伸,並與獨立的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
}
}
在領域類,創建單獨的日期:
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")
在視圖控制器調用謂詞
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)
我希望這有助於某人...
private func createMessageRealmModelFromIncomingMessage(incomingMessage: MessageRestModel) -> MessageRealmModel {
let messageRealmModel = MessageRealmModel()
messageRealmModel.id = incomingMessage.id!
messageRealmModel.messageType = "CHAT_MESSAGE"
messageRealmModel.value = (incomingMessage.content?.value)!
messageRealmModel.senderId = incomingMessage.senderId!
messageRealmModel.recipientId = incomingMessage.recipientId!
messageRealmModel.sendDate = incomingMessage.sendDate!
messageRealmModel.serverDeliveryDate = incomingMessage.serverDeliveryDate!
messageRealmModel.receiverDeliveryDate = NSDate().msFromEpoch()
return messageRealmModel
}
,然後用它作爲像這樣境界的filter
函數中的參數:
var c = NSDateComponents()
c.year = 2016
c.month = 3
c.day = 27
var date = NSCalendar(identifier: NSCalendarIdentifierGregorian)?.dateFromComponents(c)
let generalListsInDay = realm.objects(GeneralList).filter(self.predicateForDayFromDate(day))
執行此代碼您generalListsInDay
後應包含所有GeneralList
在27.03.2016