Я создаю приложение, которое отображает различные данные в tableView.Быстрые члены класса в TableView
Я хочу создать переменные, которые наследуются от класса и отображать их в tableView.
Это мой класс файл:
import Foundation
import UIKit
class Shops {
private var _shopName: String!
private var _shopOpeningWD: String!
private var _shopOpeningSat: String!
private var _shopOpeningSun: String!
private var _shopLogo: UIImage!
init(shopName: String , shopOpeningWD: String ,shopOpeningSat: String,shopOpeningSun: String, shopLogo: UIImage) {
self._shopName = shopName
self._shopOpeningWD = shopOpeningWD
self._shopOpeningSat = shopOpeningSat
self._shopOpeningSun = shopOpeningSun
}
}
этот файл я хочу, чтобы получить данные из:
import Foundation
import UIKit
var amazon = Shops(shopName: "amazon", shopOpeningWD: "Monday - Friday : 9:00 - 21:00", shopOpeningSat: "Saturday: 10:30 - 20:00", shopOpeningSun: "Sunday: 10:30 - 15:00 ", shopLogo:UIImage(named: "shopLogo")!)
var pcParts = Shops(shopName: "pcParts", shopOpeningWD: "Monday - Friday : 9:00 - 20:00", shopOpeningSat: "Saturday: 10:30 - 20:00", shopOpeningSun: "Sunday: 10:30 - 15:00 ", shopLogo: UIImage(named: "shopLogo")!)
var newEgg = Shops(shopName: "newEgg", shopOpeningWD: "Monday - Friday: 9:00 - 21:00", shopOpeningSat: "Saturday: 10:30 - 20:00", shopOpeningSun: "Sunday: 10:30 - 15:00 ", shopLogo: UIImage(named: "shopLogo")!)
Это функция я создал в ViewController (где Tableview находится)
func populateArray() -> Array <Shops> {
var array = [Shops]()
array.append(amazon)
array.append(pcParts)
array.append(newegg)
return array
}
Эта функция вызывается в viewDidLoad. я создал переменную, которая захватывает значение массива
var newArray : [Shops] {
return populateArray()
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return newArray.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tabel.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath) as! CustomCell
cell.shopName =
Как я могу получить переменные класса в функцию cellForRowAtIndexPath? Я не получаю автозаполнение, когда я пытаюсь написать cell.shopName = newArray.shopName ...
Заранее спасибо. Как вы можете видеть, я пытаюсь научиться так помилуй :)
удалось решить проблему:
Я не получить значение от частных переменных:
я добавил это в мой файл класса.
var shopName: String {
return _shopName
}
var shopOpeningWD: String {
return _shopOpeningWD
}
var shopOpeningSat: String {
return _shopOpeningSat
}
var shopOpeningSun : String {
return _shopOpeningSun
}