表视图单元格中的Swift 2.0 if语句

时间:2016-04-11 13:36:22

标签: if-statement swift2 tableviewcell

我试图在表格视图单元格中显示数组的内容。 我创建了数组(我有一个图像数组和三个字符串数组)。

我设法显示数组的内容没有任何问题。 这是我的viewController.swift:

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!

var shopOpen: Bool = false


var openSign: UIImage = UIImage(named: "open")!
var closedSign: UIImage = UIImage(named: "closed")!



var logos = [UIImage(named: "shop1"), UIImage(named: "shop2"), UIImage(named: "shop3")]
var programWorkingDays = ["Luni-Vineri:09:00-20:00", "Luni-Vineri::10:00-21:00", "Luni-Vineri:09:30-19:30"]
var programSambata = ["Sambata:10:00-16:00","Sambata:10:30-13:00" ,"Sambata: 09:00-13:00"]
var programDuminica = ["Duminica:10:00-15:00","Duminica:09:00-14:00","Duminica:10:30-15:00"]

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


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

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! Cell
    cell.logo.image = logos[indexPath.row]
    cell.programWorkingDays.text = programWorkingDays[indexPath.row]
    cell.programSambata.text = programSambata[indexPath.row]
    cell.programDuminica.text = programDuminica[indexPath.row]
    return cell
}

}

我的下一个目标是根据变量的真/假值显示一个或另一个图像(shopOpen)

如果变量为真我想要图片1,如果它是假的我想要图片2。 图像视图放在main.storyboard中,连接在单元类中进行。

图像将存储在UIImage变量中(假设我这部分只有两个图像,我认为将它们放入数组中是没有意义的)

我应该在哪里写if语句,如何刷新单元格以显示正确的图像?

1 个答案:

答案 0 :(得分:0)

首先,不是参数的多个数组使用包含布尔this属性的结构

open

struct Shop { var workingDays : String var sambata : String var duminica : String var logo : UIImage? var open = false } 类中,将变量ViewController声明为空shops数组

Shop

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var tableView: UITableView! let openSign: UIImage = UIImage(named: "open")! let closedSign: UIImage = UIImage(named: "closed")! var shops = [Shop]() 中使用适当的viewDidLoad个实例填充shops数组

Shop

override func viewDidLoad() { super.viewDidLoad() shops.append(Shop(workingDays: "09:00-20:00", sambata: "10:00-16:00", duminica: "10:00-15:00", logo: UIImage(named: "shop1"), open: true)) shops.append(Shop(workingDays: "10:00-21:00", sambata: "10:30-13:00", duminica: "09:00-14:00", logo: UIImage(named: "shop2"), open: false)) shops.append(Shop(workingDays: "09:30-19:30", sambata: "09:00-13:00", duminica: "10:30-15:00", logo: UIImage(named: "shop3"), open: true)) } 中返回商店数量而不是硬编码整数

numberOfRowsInSection

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return shops.count } 中显示cellForRowAtIndexPath个实例的值。假设有一个图像视图Shop,将根据openImage属性的状态显示打开或关闭图像。

open