Jas*_*ain 0 uitableview ios swift
首先我要说的是,我还不是开发人员。我是一名设计师,正在尝试构建一个工作原型。如果我的问题看起来很模糊,我很抱歉,但我已经在这里搜索了 YouTube 教程和答案,但仍然感到困惑。
我有一个视图控制器,里面有一个表格视图。我正在尝试用一系列信息填充表格。这是我陷入困境的第一个区域。我知道如何将单个数据点填充到单元格中,但不知道如何将多条数据填充到单元格中。单元格应显示啤酒的名称、价格和简短描述,如所附图像文件中所示。这是我当前在 BeverageViewController 中的代码。另外,“ipsum lorem”文本是我不想显示的附加描述性文本,但我确实希望将其传递到 BeverageDetailsViewController 以在可能的情况下显示在那里。我不确定如何设置prepareForSegue 或performSegue 来引用所选行。
class BeveragesViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var BeveragesTableView: UITableView!
// Data
let beverages = [
("Coke", "2.00", "12 fl oz", "ipsum lorem"),
("Sprite", "2.00", "12 fl oz", "ipsum lorem"),
("Powerade", "2.00", "20 fl oz", "ipsum lorem"),
("Blue Moon", "2.00", "12 fl oz", "ipsum lorem"),
("Budweiser", "2.00", "12 fl oz", "ipsum lorem"),
("Bud Light", "2.00", "12 fl oz", "ipsum lorem"),
("Corona", "2.00", "12 fl oz", "ipsum lorem"),
("Dos Equis", "2.00", "12 fl oz", "ipsum lorem"),
("Fat Tire", "2.00", "12 fl oz", "ipsum lorem"),
("Heineken", "2.00", "12 fl oz", "ipsum lorem"),
("Red Stripe", "2.00", "12 fl oz", "ipsum lorem"),
("Stella Artois", "2.00", "12 fl oz", "Stella Artois Premium Lager"),
("Yuengling", "2.00", "12 fl oz", "ipsum lorem")]
override func viewDidLoad() {
super.viewDidLoad()
BeveragesTableView.delegate = self
BeveragesTableView.dataSource = self
}
//Populate Table
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return beverages.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = BeveragesTableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as UITableViewCell
let beverage = beverages[indexPath.row]
return cell!
}
Run Code Online (Sandbox Code Playgroud)
创建一个模型类来保存有关数据的信息 -:
import UIKit
class Videos:NSObject{
var title:String?
var thumbNailImageView : String?
var channel : String?
var numberOfView : Int?
var duration : Int?
init(title:String,thumbNailImageView:String,numberOfView:Int,duration:Int,channel:String) {
self.channel = channel
self.title = title
self.thumbNailImageView = thumbNailImageView
self.duration = duration
self.numberOfView = numberOfView
}
}
Run Code Online (Sandbox Code Playgroud)
控制器类-:
这里我们制作类型数组 ->模型类。之后将 an 附加object到 an 。您array可以从,并执行 a以输入多个信息。fetchdataserverloopobjects
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
var model = [Videos]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// Add object to array
let object = Videos(title: "abc", thumbNailImageView: "adf", numberOfView: 1, duration: 2, channel: "cde");
model.append(object);
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
extension ViewController:UITableViewDelegate,UITableViewDataSource{
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return model.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath);
cell.textLabel?.text = model[indexPath.row].title
return cell;
}
}
Run Code Online (Sandbox Code Playgroud)
我刚刚给出了一个解决方法的例子。您可以创建自定义单元类,outlets根据需要放置所有必需的内容,并按data代码所示提供它们。
如果已经从 进行连接,则无需设置dataSource& Delegatein ,如果使用 则无需设置a in 。viewdidLoadstoryboardregistercellviewDidLoadstoryboards
| 归档时间: |
|
| 查看次数: |
8033 次 |
| 最近记录: |