Ich versuche, eine Tabellenansicht einzurichten und ich laufe immer in Probleme, nicht die erfahrensten mit ihnen so etwas Hilfe wäre toll, heres das Storyboard view und hier ist mein Code für die verlinkt view-ControllerOutlets und UITableView Problem
//
// 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
}
}
Die 4 Fehler sind:
Wert vom Typ 'UITableViewCell' wie kein Mitglied 'shopLabel'
Wert vom Typ 'UITableViewCell' wie kein Mitglied ‚shopButt auf '
der shopLabel Steckdose von den upgradesTest auf die UILabel ist ungültig. Outlets können nicht mit sich wiederholenden Inhalten verbunden werden. Der ShopButton Ausgang von der upgradesTest auf die UILabel ist ungültig. Outlets können nicht mit verbunden werden, um Inhalte zu wiederholen.
und im Code meiner
cell.shopLabel.text = shopData[indexPath.row].shopItemData
cell.shopButton.label = shopData[indexPath.row].shopItemPrice
Linien funktionieren nicht, jede mögliche Hilfe?
Ihre Steckdosen (shopButton und shopLabel) sind nicht auf Ihrer Zelle, sie sind auf Ihrer UIViewController-Unterklasse. Sie benötigen eine benutzerdefinierte Zellenunterklasse, wenn Sie solche Subviews hinzufügen möchten. Wie es aussieht, haben Sie diese Eigenschaften an die falsche Stelle gesetzt. – Dare
die Steckdosen repariert, was wäre die richtige Codezeile, um den Text auf dem shopLabel damit in der benutzerdefinierten Zelle namens "Shop" zu ändern –
Ihre benutzerdefinierte Zelle muss mit einer Wiederverwendungskennung registriert werden, und Sie müssen die Rückgabe umwandeln Wert von dequeueReusableCellWithIdentifier() als die entsprechende Klasse in CellForRowAtIndexPath. Ohne diese Schritte handeln Sie weiterhin auf einer Instanz einer UITableViewCell, die diese Eigenschaften nicht aufweist. Ich würde auf jeden Fall einen Schritt zurückgehen und die Erbschaft lesen, bevor ich von diesem Punkt aus fortfahre. – Dare