起初,對不起我的英語。我試圖用幾個輸入點(像initWithFrame:和initWithCoder :)這樣的幾個初始化器來解決問題。不要重複我的設置代碼。起初我有一個簡單的解決方案,只是創建由初始化程序調用的方法(例如「setup」)。但是,子類有一個小問題。如果我的子類擁有像initWithFrame:backgroundColor:和屬性「backgroundColor」的自己的初始化器,那麼它自己的overriden「setup」將被超級初始化器調用,但「backgroundColor」將仍然爲零。所以這個「設置」將不能使用這個屬性。我認爲它的共同問題,它有很好的共同解決方案,我找不到。謝謝。IOS中的幾個輸入點
0
A
回答
2
0
基類
-(instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
[self setup];
}
return self;
}
-(instancetype)initWithCoder:(NSCoder*)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self)
{
[self setup];
}
return self;
}
-(void)setup
{
//some setup code
}
子類
-(instancetype)initWithFrame:(CGRect)frame param:(id)param
{
self = [super initWithFrame:frame];
if(self)
{
self.param = param;
//setup will be run by parent
}
return self;
}
-(void)setup
{
[super setup];
//child setup code
//when this code will work self.param will still nil!
}
這就是我的意思
相關問題
- 1. 在jQuery中添加輸入和問題添加幾個輸入點擊
- 2. iOS。 OpenGL的。幾個觀點同時
- 3. 替換幾個輸入值
- 4. PS2PDF幾個輸入文件
- 5. jquery spellchecker上的幾個輸入
- 6. 等待幾個玩家的輸入
- 7. 導入頭幾個ios版本?
- 8. 如何輸入幾個浮點型變量一次
- 9. UITableViewCell中的iOS輸入
- 10. 結合幾個if語句在java中的一個輸入
- 11. iOS 4.0+中的接入點
- 12. Angularjs幾個複選框,輸入
- 13. 自舉輸入組控制幾個
- 14. JOptionPane有幾個輸入字段?
- 15. 從幾個輸入文件填充表
- 16. Nightwatchjs得到了幾個輸入值
- 17. Phonegap iOS - 防止滾動輸入焦點
- 18. 我的輸出跳過了我輸入的幾個短語
- 19. 如何用JS中的幾個鍵和值分隔輸入sting?
- 20. 如何去除java中輸入流的前幾個字符?
- 21. 固定/絕對定位忽視iOS中的輸入時重點
- 22. iOS中的文本輸入區域失去焦點?
- 23. iOS safari:(-webkit-)輸入框中的陰影:焦點不起作用
- 24. gzip幾個文件,並將它們管入一個輸入
- 25. AngularJS:如何在輸入框中輸入後等待幾秒鐘
- 26. 添加一個輸入法到UIButton點擊事件iOS
- 27. CkEditor中的輸入焦點
- 28. iOS UITextView幾乎沒有得到焦點
- 29. 給一個對象屬性的一個值在rails中輸入幾個html輸入
- 30. 活動中幾個EditText的焦點?
你能發佈一些相關的代碼嗎? – Bannings
我建議你閱讀關於初始化器的Swift文檔。它描述了初始化程序的所有各種問題,以及該語言如何解決問題或使其代碼更具防禦性。所有的模式都適用於Objective-C。 – bbum