通常情況下,只有當其他類訪問時,我纔會使用'property'插座和變量。否則它在接口塊內聲明。但我看到有些人正在創建'財產'出口和變量,但他們沒有在另一個班級訪問這些。因此,任何人都可以解釋,如果我們不從另一個班級獲取某些出口或變量,爲什麼我們需要「財產」出口和變量?爲什麼我們需要iOS中的property outlet和變量?
3
A
回答
2
如果您不需要從其他類訪問出口,你不需要做一個屬性。你可以把它的實例變量在您的@implementation
:
@implementation ViewController {
IBOutlet UIView *someView;
}
...
有些人不喜歡使用簡單的實例變量,喜歡經常使用的特性,即使是私人數據。這是非常有用的,如果你不使用ARC使用屬性而不是原始實例變量,因爲你可以依靠屬性setter保留和釋放它們的對象。如果您正在使用ARC,這是不是一個問題。
如果你想使用的屬性,但你不想申報財產在你@interface
,你可以在你.m
文件的頂部放一個類擴展(你上面的@implementation
),並把財產有:
@interface ViewController() {
@property (nonatomic, strong) IBOutlet UIView *someview;
@end
@implementation ViewController
...
2
1
我想你是問關於屬性。屬性用於幫助您編寫getter和setter。
爲什麼我們需要getter setter?有一個地方我們可以訪問一個變量,以便將來如果我們需要添加一些規則,我們可以在不改變整個代碼的情況下做到這一點。
這個問題是覆蓋在深入Why use getters and setters?
奧特萊斯是InterfaceBuilder的訪問屬性。
相關問題
- 1. 爲什麼我們需要BeginGetResponse和BeginRead?
- 2. 爲什麼我們需要Bower和Nuget?
- 3. 爲什麼我們需要ClassMethods和InstanceMethods?
- 4. 爲什麼我們需要新的實例變量?
- 5. 爲什麼我們需要boost :: thread_specific_ptr?
- 6. 爲什麼我們需要設置變量private/public?
- 7. 爲什麼我們需要私有變量?
- 8. 爲什麼我們需要投放變量而不分配它?
- 9. 爲什麼我們需要calloc(或malloc)?
- 10. 爲什麼我們需要extern?
- 11. 爲什麼我們需要simple_one_for_one?
- 12. Ruby:爲什麼我們不需要`attr_accessor`?
- 13. 爲什麼我們需要互斥信號和信號量?
- 14. 爲什麼我們需要設置keywindow iOS中
- 15. 爲什麼我們需要.htaccess的worpdress?
- 16. 爲什麼我們需要`ngDoCheck`
- 17. 爲什麼我們需要設置SONAR_RUNNER_OPTS?
- 18. 爲什麼我們需要mktemp?
- 19. 爲什麼我們需要scalaz.stream迭代?
- 20. 我們爲什麼需要纖維
- 21. 爲什麼我們需要addRequestHeader方法?
- 22. 爲什麼我們需要長型?
- 23. 爲什麼我們需要IAudioRenderClient接口
- 24. 爲什麼我們需要創建類變量來獲取和設置屬性?
- 25. mongodb爲什麼我們需要getSisterDB
- 26. 爲什麼我們需要9補丁?
- 27. DavLockDB:我們需要什麼?
- 28. 爲什麼我們需要JPA中的空構造函數。 ??
- 29. 什麼是mcrypt,爲什麼和我們需要它在哪裏?
- 30. 爲什麼我們需要TensorFlow tf.Graph?
http://stackoverflow.com/questions/14236799/should-i-declare-variables-in-interface-or-using-property-in-objective-c-arc – Balu