2011-06-12 70 views
0

希望這不違反每頁上發佈超過1個問題的規則。關於提高我的編碼質量的問題數量:

  1. 我有value1,它根據value2的變化而變化。正因爲如此,每次我改變value2時,我都會[自我改變值1],然後運行一些代碼,它看着值2並改變值1。有沒有更自動的方式來做到這一點,我可以在value2更改並調用這樣的方法時通知應用程序?

  2. 我有方法(如上面的那個),我不想從該類外部訪問。我如何使一個方法是私人的?

+0

聽起來像是委託給我的工作。 – PengOne 2011-06-12 15:40:05

+1

下次再問一個問題可能會更好。 – 2011-06-12 15:45:35

回答

2

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

ad 2.定義私有類別中的方法。這並不意味着其他類不能再調用這個方法,但至少你會被編譯器警告。

在你MySubclass.m:

@interface MySubclass() 

- (void)myPrivateMethod; 

@end 

@implementation MySubclass 

etc. etc. 
1

問題1,你可以看到核心價值觀測:http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/KeyValueObserving/KeyValueObserving.html

對於問題2,你可以在上面添加一個擴展類的.m文件添加方法

@interface MyClass() 

-(void) _myPrivateMethod; 

@end 
+0

在開始時有一個_而沒有一個有什麼區別? – Andrew 2011-06-12 15:50:05

+0

只是知道這種方法是私人的命名方式 – AmineG 2011-06-12 15:58:06

+1

以下劃線開頭的方法(和變量)名稱由Apple保留。如果有什麼使它成爲尾部下劃線,但我通常不認爲需要這樣做。僅在私人類別中定義方法的事實足以使其清晰。 – 2011-06-12 16:03:48