2014-10-14 3 views
0

Я создаю TaskList приложение в быстрой и мой код:Как назначить текст ячейке в tableView?

import UIKit 

class ViewController: UIViewController, UITextFieldDelegate, UITableViewDelegate, UITableViewDataSource { 

    var tableView : UITableView! 
    var textField : UITextField! 
    var tableViewData = ["My Text 1", "My Text 2"] 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     //Set up textField 

     self.textField = UITextField(frame: CGRectMake(0, 0, self.view.bounds.size.width, 100)) 
     self.textField.backgroundColor = UIColor.redColor() 
     self.view.addSubview(self.textField) 

     //Set up table view 

     self.tableView = UITableView(frame: CGRectMake(0, 100, self.view.bounds.size.width, self.view.bounds.size.height-100), style: UITableViewStyle.Plain) 
     self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "myCell") 
     self.tableView.delegate = self 
     self.tableView.dataSource = self 
     self.view.addSubview(self.tableView) 


    } 
    //TableView Data source Delegate 

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{ 

     return tableViewData.count 
    } 

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{ 

     let myNewCell : UITableViewCell = tableView.dequeueReusableCellWithIdentifier("myCell", forIndexPath: indexPath) as UITableViewCell 

     //Here is the error 
     myNewCell.text = self.tableViewData[indexPath.row] 

     return myNewCell 
    } 
} 

Ошибка:

'text' is unavailable:APIs deprecated as of iOS 7 and earlier are unavailable in Swift 

Я делаю это из учебника, и что человек использовал Xcode 6.0 и у меня есть Xcode 6.1 beta версия. Я думаю, что это проблема, потому что я использую бета-версию. Может кто-нибудь объяснить мне, что это за ошибка, и я новичок в быстром, так что может кто-нибудь сказать мне, как я могу это сделать?

ответ

2

Вы должны использовать

myNewCell.textLabel?.text = self.tableViewData[indexPath.row] 

это было:

myNewCell.text = self.tableViewData[indexPath.row] 

, но они встроены в текст свойства в свойстве TextLabel.

1

использование этого

myNewCell.textLabel?.text = self.tableViewData[indexPath.row] 
1

Вам нужно позвонить TextLabel и TextLabel не является обязательным, так что вам нужно разворачивать его:

if let textLabel = myNewCell.textLabel { 
    textLabel.text = self.tableViewData[indexPath.row] 
} 

или

myNewCell.textLabel?.text = self.tableViewData[indexPath.row] 
Смежные вопросы