回答
-(id)init{
if ((self = [super init]))
{
//This is where you are supposed to initialise anythin you need
xyz = YES;
}
return self;
}
可以在viewDidLoad方法做
- (void)viewDidLoad
{
xyz = YES;
}
viewDidLoad(和viewDidUnload)可以在UIViewController的生命週期中多次調用。這是危險的建議。 – grahamparks
@grahamparks請舉一些例子來支持你說的話。我好奇。 – rptwsthi
是的,我也想知道它 –
試試這個:
在.h文件中
BOOL flag;
在.m文件
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
flag = YES;
}
return self;
}
BOOL myVar;
@property BOOL myVar;
- (void)viewDidLoad
{
myVar=True;
}
你的例子創建/設置一個名爲'myVar'的全局變量,而不是'@ property'。 –
沒有默認值,如果你寫
-(void)somemethod {
BOOL x; //no default value
}
現在X沒有默認值,併爲實例,用0填充在init將被初始化爲NO。當init初始化時需要做anthor方法。像
-(id)init{ if ((self = [super init])) { x = YES; } }
或一些上ViewDidLoad
x = YES;
'-somemethod'中的'BOOL x'不會被初始化爲NO,它將包含調用該方法時棧中的垃圾數據。 –
@一二三謝謝,但據我所知,'x'將'init'設爲0.有一些與此有關的重要參考。 – Buntylm
只有'static'變量和實例變量的存儲將爲零。 –
- 1. FluentNHibernate爲bool設置默認列值
- 2. 將默認值設置爲模型(Sails.js)
- 3. 將findbugs設置爲默認值,作爲包下的所有類的默認值
- 4. BOOL的默認值
- 5. 如何將默認參數值設置爲BigInteger類型?
- 6. 類模型 - 設置默認值
- 7. 將BOOL值設置爲NSMutableDictionary
- 8. 將bool值顯示爲Yes或No
- 9. 將值設置爲默認值
- 10. 將ExtentTest的默認值設置爲FAILED
- 11. 在實體模型中爲類型時間設置默認值
- 12. 如何將form2設置爲默認值?
- 13. JavaScript:將變量設置爲默認值?
- 14. 將VCProject屬性設置爲默認值
- 15. Sass:將默認值設置爲變量
- 16. 將默認值設置爲textarea(AngularJS)
- 17. 將SharedPreferences(不DefaultSharedPreferences)設置爲默認值
- 18. 如何將https設置爲默認值?
- 19. 如何爲敏捷內容類型的zope.schema.list設置默認值?
- 20. c中bool的默認值#
- 21. C++中bool的默認值
- 22. 爲什麼我們不能將char類型變量的默認值設置爲''
- 23. 如何在類型爲DateTime的屬性中將空白設置爲默認值?
- 24. 可以將枚舉的默認類型設置爲unsigned char?
- 25. 將document.title設置爲默認
- 26. 無法將默認布爾參數設置爲默認值
- 27. XML架構:爲複雜類型設置默認值?
- 28. 爲所有Symfony表單類型設置默認值
- 29. JSON序列化 - 爲int類型設置默認值
- 30. 在Symfony2中爲實體類型設置默認值
那不是你的init()方法是什麼? – borrrden
'#define YES(BOOL)0' :) '#define NO(BOOL)1'由默認實例填充0 – Buntylm
@BuntyMadan請不要這麼做!這將使一個糟糕的調試會話... –