2013-02-28 65 views
1

我是Objective C和iOS的新手。到目前爲止,我已經制作了簡單的應用程序。 我正在經歷的在網的例子之一,但無法理解的方法調用的實現代碼目標C:方法調用查詢

下面

是方法調用

[db addObserver:(DBObserver*)self]; 

據我所知,「DB」對象調用一個方法'addObserver'帶有參數。但是,「自我」在這裏意味着什麼。有點與論據混淆。

我對這種愚蠢的問題非常抱歉,但是考慮到我在iOS的初學者和目標C

+0

您是否嘗試先搜索? – trojanfoe 2013-02-28 10:27:23

+0

是的,但我對(DBObserver *)自我感到困惑。我知道self關鍵字,但是我無法將該概念與語句中的關聯 – DNamto 2013-02-28 10:30:52

回答

2

在這種情況下聲明:

[db addObserver:(DBObserver*)self]; 

意味着「作爲db對象的觀察者」添加meself)「。

但是由於它具有不同的方法簽名,所以它似乎不是關鍵值觀測(KVO),所以它必須有一些其他Observer模式實現。

UPDATE我懷疑演員DBObserver *是不明智的,但這取決於如何聲明該方法。

+0

感謝您的快速回復 – DNamto 2013-02-28 10:35:37

1

self在Objective-C是等於在C++

+0

什麼讓您認爲OP知道C++? – trojanfoe 2013-02-28 10:27:48

1

selfthis相同thisjavaC++

+2

什麼讓你認爲OP知道Java或C++? – trojanfoe 2013-02-28 10:28:18