关于提高编码质量的问题数量:

时间:2011-06-12 15:34:05

标签: iphone objective-c

希望每页发布超过1个问题不违反规则。

  1. 我有value1,它根据value2的变化而变化。因此,每当我更改value2时,我会[self changeValue1]然后运行一些代码,它会查看value2并更改value1。有没有更自动化的方法,我可以在value2更改时通知应用程序并调用这样的方法?

  2. 我有方法(例如上面的方法),我不想从该类外部访问。如何将方法设为私有?

2 个答案:

答案 0 :(得分:2)

ad 1.在文档中查找Key Value Observing。

ad 2.在私有类别中定义方法。这并不意味着其他类不能再调用该方法,但至少你会被编译器警告它。

在你的MySubclass.m中:

@interface MySubclass ()

- (void)myPrivateMethod;

@end

@implementation MySubclass 

etc. etc.

答案 1 :(得分:1)

对于问题1,您可以看到键值观察:http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/KeyValueObserving/KeyValueObserving.html

对于问题2,您可以使用要添加的方法在.m文件的顶部添加类的扩展名

@interface MyClass ()

-(void) _myPrivateMethod;

@end