1
danny106 2014-07-25 10:20:06 +08:00 1
可以
|
2
xuan_lengyue 2014-07-25 10:28:12 +08:00 1
可以,Objective-C 是动态绑定的,所以你甚至有可能一不小心把父类的 private 方法覆盖掉…
不知道为什么,我的方法命名准则和 Apple 工程师的很像,所以…全是泪… |
3
LINAICAI 2014-07-25 10:51:33 +08:00 1
这点非常不好,首先养成不好习惯了,我都很少还在h文件声明,第二就是楼上提到的会不小心覆盖了父类。
|
4
Shared OP @danny106
@xuan_lengyue @LINAICAI 多谢几位的回答,我是学 KVO 的时候发现 observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 不用在头文件里声明。如果什么时候可以这么做,什么时候不应该这么做呢? |
5
xuan_lengyue 2014-07-25 13:56:12 +08:00 1
@Shared 你可以在 Xcode 里右键看一下 Definition,这个方法出现在 Fundation 的 NSKeyValueObserving.h 头文件里,是个 NSObject 的 Category,所以会有代码提示。
在 Objective-C 里你基本上可以把写在头文件里的方法看作其它语言的 public 方法,不写在头文件里的看作 private 方法,没有具体的对错之分。 |
6
Shared OP @xuan_lengyue 明白了!不过如果这样做相当于 private method 的话,为什么可以被覆盖掉呢
|