2015-04-12 199 views
1

我已經搜索了周圍的答案,但每個解決方案都會帶來新的編譯器錯誤。如何爲自定義UITableViewCell類設置初始值設定項?

如何爲從UITableViewCell繼承的類設置初始值設定項?

這是我到目前爲止,任何幫助,將不勝感激:

SettingCell.swift

class SettingCell: UITableViewCell { 

    @IBOutlet weak var settingsLabel: UILabel! 
    @IBOutlet weak var settingsSwitch: UISwitch? 
    @IBOutlet weak var timeSetting: UILabel? 

    var cellDelegate: SettingCellDelegate? 

    override init(style: UITableViewCellStyle, reuseIdentifier: String?) { 
     super.init(style: style, reuseIdentifier: reuseIdentifier) 
    } 

    init(settingLabel: UILabel!, settingSwitch: UISwitch?, timeSetting: UILabel?) { 

     super.init(style: UITableViewCellStyle, reuseIdentifier: String?) 
     self.settingsLabel = settingLabel 
     self.settingsSwitch = settingSwitch 
     self.timeSetting = timeSetting 

    } 

    required init(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
    } 

    @IBAction func handledSwitchChange(sender: UISwitch) { 

     self.cellDelegate?.didChangeSwitchState(sender: self, isOn:settingsSwitch!.on) 


    } 
    ... 

} 

修正 - It錯誤:

enter image description here

編譯器錯誤:

'UITableViewCellStyle.Type' is not convertible to 'UITableViewCellStyle' 

回答

2

當你調用這一行:

super.init(style: UITableViewCellStyle, reuseIdentifier: String?) 

您需要提供一個實際的單元格樣式和實際重用標識符。您此刻的代碼被寫入,就好像這行代碼是函數定義,而不是函數調用。

改變它的東西,如:

super.init(style: .Default, reuseIdentifier: "SettingCell") 

爲響應韋恩(儘管優選至少重用標識符應該由調用者提供的,不是靜態)

+0

感謝,這裏的錯誤,編譯器當我使用你的簽名時返回:'UITableViewCellStyle.Type'沒有一個成員'UITableViewCellStyleDefault' –

+1

好吧,得到它只是改變它:super.init(style:.Default,reuseIdentifier:「SettingCell」) –

+1

對不起,是enum – Wain

相關問題