我是 Objective C 和 iOS 的新手。到目前为止,我已经为初次动手制作了简单的应用程序。我正在浏览网络中的一个示例,但无法理解代码中方法调用的实现
下面是方法调用
[db addObserver:(DBObserver*)self];
我知道“db”对象正在调用带有参数的方法“addObserver”。但是“自我”在这里意味着什么。对争论有点困惑。
对于这样愚蠢的问题,我感到非常抱歉,但请考虑我是 iOS 和 Objective C 的初学者
我是 Objective C 和 iOS 的新手。到目前为止,我已经为初次动手制作了简单的应用程序。我正在浏览网络中的一个示例,但无法理解代码中方法调用的实现
下面是方法调用
[db addObserver:(DBObserver*)self];
我知道“db”对象正在调用带有参数的方法“addObserver”。但是“自我”在这里意味着什么。对争论有点困惑。
对于这样愚蠢的问题,我感到非常抱歉,但请考虑我是 iOS 和 Objective C 的初学者
在这种情况下,声明:
[db addObserver:(DBObserver*)self];
表示“将我( self
) 添加为db
对象的观察者”。
但是,它似乎不是 Key Value Observing ( KVO ),因为它具有不同的方法签名,因此它必须是观察者模式的其他一些实现。
更新我怀疑强制转换DBObserver *
是不必要的,但这取决于该方法的声明方式。
self
在 Objective-C 中等于this
在 C++ 中
self
this
与in 相同java
或C++