2016-03-11 30 views

回答

0

所以,我找到簡單的方法:

  1. 爲字符串創建公共延伸,並與獨立的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 
    } 
    } 
    
  2. 在領域類,創建單獨的日期:

    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") 
    
  3. 在視圖控制器調用謂詞

    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) 
    

我希望這有助於某人...

1

您可以實現此功能,從Rafaelanswer

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