2017-08-02 72 views
0

我正在處理與Swift中的表視圖工作的待辦事項列表應用程序。表視圖有一個名爲titleLabelOutlet的UILabel。當我構建應用程序時,我收到一個錯誤,說The titleLabelOutlet outlet from the FirstViewController to the UILabel is invalid. Outlets cannot be connected to repeating content.我從來沒有收到過這個錯誤。我如何解決它?這是我的代碼:從VC到UILabel的插座無效。奧特萊斯無法連接到重複的內容

import UIKit 

var phoneNumberList = [String]() 
var titleFieldList = [String]() 
class FirstViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 

@IBOutlet weak var titleLabelOutlet: UILabel! 
@IBOutlet weak var phoneNumberLabelOutlet: UILabel! 

@IBOutlet weak var myTableView: UITableView! 

public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
{ 
    return (phoneNumberList.count) 
} 

public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
{ 
    let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "cell") 
    phoneNumberLabelOutlet.text = phoneNumberList[indexPath.row] 
    titleLabelOutlet.text = titleFieldList[indexPath.row] 

    return(cell) 
} 

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) 
{ 
    if editingStyle == UITableViewCellEditingStyle.delete 
    { 
     phoneNumberList.remove(at: indexPath.row) 
     titleFieldList.remove(at: indexPath.row) 
     myTableView.reloadData() 
    } 
} 

override func viewDidAppear(_ animated: Bool) { 
    myTableView.reloadData() 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


} 

error image

+1

的可能的複製[奧特萊斯不能連接到重複內容iOS](https://stackoverflow.com/questions/26561461/outlets-cannot-be-connected-to-repeating-content-ios) – dan

回答

0

你的網點應在細胞類,而不是視圖 - 控制因爲標籤內部電池 而在crllfor排在委託你必須讓你的店鋪一樣, `讓電池= tableView.dequeueReusableCell(withReuseIdentifier:cellIdentifier」,爲:indexPath)作爲TableViewCellClass

cell.lbloutlet.text =! 「任何文本」 恢復單元

`

0

創建CustomTableCell子類的UITableViewCell

在細胞的標籤,並連接到phoneNumberLabelOutlet & titleLabelOutlet在CustomTableCell類。

使用CustomTableCell就位UITableViewCell for cellForRowAtIndex函數。 現在你可以爲標籤設置值

cell.phoneNumberLabelOutlet.text = phoneNumberList [indexPath.row] cell.titleLabelOutlet.text = titleFieldList [indexPath.row]

+0

當我在UITableViewCell文件中這樣做,它不起作用 –

相關問題