Я пытаюсь создать TableView и я просто продолжать работать с проблемами, не самый опытный с ними, чтобы какая-то помощь будет здорово, Heres раскадровка view и вот мой код связанный контроллер видРозетки и UITableView неприятности
//
// UpgradesTest.swift
// myProject
//
// Created by fgstu on 4/19/16.
// Copyright © 2016 AllenH. All rights reserved.
//
import UIKit
class UpgradesTest: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
@IBOutlet var shopButton: UIButton!
@IBOutlet weak var shopLabel: UILabel!
var shopData: [MyData] = []
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
tableView.dataSource = self
tableView.delegate = self
shopData = [
MyData(shopItemData: "Item 1", shopItemPrice: 1),
MyData(shopItemData: "Item 2", shopItemPrice: 2),
MyData(shopItemData: "Item 3", shopItemPrice: 3)
]
}
struct MyData {
var shopItemData:String
var shopItemPrice:Int
}
func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
print(shopData[indexPath.row])
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return shopData.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Shop", forIndexPath: indexPath)
cell.textLabel?.text = shopData[indexPath.row].shopItemData
cell.shopLabel.text = shopData[indexPath.row].shopItemData
cell.shopButton.label = shopData[indexPath.row].shopItemPrice
return cell
}
}
в 4 ошибки:
значение типа 'UITableViewCell', как ни один член '' shopLabel
значение типа 'UITableViewCell', как ни один член «shopButt on '
Недопустимый магазинLabel от upgradeesTest до UILabel. Розетки не могут быть подключены к повторяющемуся контенту. магазинButton выход из upgradeesTest в UILabel недействителен. Розетки не могут подключаться к повторному контенту .
и в коде моя
cell.shopLabel.text = shopData[indexPath.row].shopItemData
cell.shopButton.label = shopData[indexPath.row].shopItemPrice
линия не работает, любая помощь?
Ваши торговые точки (shopButton и shopLabel) не находятся в вашей камере, они находятся в подклассе UIViewController. Вам нужно создать собственный подкласс, если вы планируете добавлять подобные подпрограммы. Как бы то ни было, вы помещаете эти свойства в неправильное место. – Dare
фиксировал выходы, теперь какая бы правильная строка кода изменила текст на shopLabel с ней в пользовательской ячейке с именем «Магазин» –
Ваша пользовательская ячейка должна быть зарегистрирована с идентификатором повторного использования, и вам нужно отдать ответ значение dequeueReusableCellWithIdentifier() как соответствующий класс в cellForRowAtIndexPath. Без этих шагов вы все еще действуете на экземпляре UITableViewCell, который не имеет этих свойств. Я бы определенно сделал шаг назад и прочитал о наследовании, прежде чем исходить из этого момента. – Dare