2014-12-22 48 views
1

我有一個類與幾個屬性一起工作作爲一個組。 text,textColor,font等...相同的didSet塊的幾個屬性

我有一個單一的方法,然後呈現這取決於所有三個這些屬性。

目前,我讓他們定義...

var text: NSString = "DEFAULT TEXT" { 
    didSet { 
     updateText(text, baseFont: font) 
    } 
} 
var font: UIFont = UIFont.systemFontOfSize(1) { 
    didSet { 
     updateText(text, baseFont: font) 
    } 
} 

這感覺不對具有同一代碼塊。 (我要對參數其他羣體做到這一點的兩倍以上。

的我怎麼能收拾這件事的任何想法?

嗯......只是打字時我一直在想使用結構,而不是三個獨立的屬性。思考?

回答

1

我看不出有什麼不對重複updateText召喚爲didSet觀察員幾個屬性的。臭味在這裏,如果有一個,在我看來是這樣updateText宣稱。如果它總是要使用self.textself.font,爲什麼不把它建成定義打開並給它沒有參數?這樣,你可以更巧妙地多寫:

var text: NSString = "DEFAULT TEXT" { 
    didSet { updateText() } 
} 
var font: UIFont = UIFont.systemFontOfSize(1) { 
    didSet { updateText() } 
} 

就個人而言,我覺得非常表達整齊(和乾巴巴的)你想說什麼:當這些屬性被更新,更新過的界面。

+0

嗯...我想你是對的。我將這些參數放在了使功能更加獨立。但我想這首先破壞了物業的對象。大聲笑 – Fogmeister

+0

正是如此!屬性=全局可見性。如果你有這個主題的變體,聲明多個函數。 – matt

+0

謝謝,我想我是在想我的想法:) – Fogmeister

相關問題