2015-06-30 43 views
0

好的我有幾個關於在我剛剛下載的快速應用程序中調用的函數的問題removeObserver,addObserver,NSPredicate,PFQuery它們是什麼?

1)什麼是addObserver和removeObserver。什麼是觀察員。

NSNotificationCenter.defaultCenter().addObserver(self, selector: "displayPushMessage:", name: "displayMessage", object: nil)** 

//}

NSNotificationCenter.defaultCenter().removeObserver(self, name: "displayMessage", object: nil) 

2)什麼是NSPredicate ???

  let pred = NSPredicate(format: "user1 = %@ OR user2 = %@", PFUser.currentUser(), PFUser.currentUser()) 



    3) //what is PFQuery??? 





    let roomQuery = PFQuery(className: "Room", predicate: pred) 

    roomQuery.orderByDescending("lastUpdate") 

    roomQuery.includeKey("user1") 

    roomQuery.includeKey("user2") 
+1

如何查看蘋果的文檔。嘗試CMD-ciick並按住Alt鍵並單擊NS類。 –

+0

'PFQuery'與parse.com中的「雲」數據庫相關。這個網站上有信息。如上所述,其他人在Xcode附帶的文檔中。 –

+0

您應該閱讀來自蘋果的文檔。如果有任何疑問,然後具體問 –

回答

0

添加和刪除觀察者實際上是設計模式,你得到「默認」在迅速。他們傾聽特定事件,然後通知聽衆(觀察者)有關這一變化。例如,看看你的例子:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "displayPushMessage:", name: "displayMessage", object: nil) 

這將在通知中心創建觀察者。實際觀察者是設置此特定觀察者的對象(例如,視圖控制器)。該觀察者必須使用參數NSNotification來實現displayPushMessage。在這個觀察者被通知發生了什麼事之後,這個方法將被調用。 NSNotification包含object,您可以將其投射到您自己的對象,並且您將使用特定數據發送該對象。您也可以設置觀察者的名字。

這是一個使用某個對象發送帶有通知的數據的示例。讓ObserverExample成爲您的自定義類,並且您希望該對象發送到通知。然後你會有一個叫做sendNotification或post或者其他方法。在該方法中使用:

NSNotificationCenter.defaultCenter().postNotificationName("Hello", object: self) 

你的方法接受這個看起來像

func displayPushMessage:(notification:NSNotification){ 
    var myObject = notification.object as! ObserverExample! 
} 

然後,您可以提取您從myObject的是ObserverExample類想要的數據。

刪除觀察者方法用於在您完成某些邏輯之後從通知中心刪除觀察者,或者您不想聽取觀察者,或者您將其刪除的理由是什麼。

NSPredicate用於過濾,排序或從數據集中獲取特定數據。可以用數組,字典,CoreData等你可以找到很多的例子這一個被使用,這裏是一個將讓你特別ID對象:

var predicate = NSPredicate(format: "id = %@", someId) 

以後,你可以使用它作爲如下(境爲例):

let results = realm.objects(MyObject).filter(predicate) 

關於PFQuery,這是解析類,並解析實際上是數據庫作爲在線數據庫服務提供商。例如,可選方案是Firebase。你可以在這裏找到更多:https://parse.com/

相關問題