创建 UIImages 数组的问题
Issue creating an array of UIImages
我正在尝试创建一个 UIImage 数组,但出现错误:
TableViewController.type does not have a member named squatImage
我正在尝试创建一个数组,以便我可以将不同的图像添加到我拥有的 tableView 的每个单元格中。
相关代码如下:
class TableViewController: UITableViewController {
var selectedIndexPath : NSIndexPath?
var tableData = ["Squats","Bench Press","Bent Over Row","Barbell Shrugs","Tricep Extensions","Straight Bar","Hyperextensions","Cable Crunches"]
var squatImage = UIImage(named:"First.png")!
var squatImage2 = UIImage(named:"Second.png")!
var tableImages: [UIImage] = [squatImage, squatImage2]
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 8
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(cellID, forIndexPath: indexPath) as! PickerTableViewCell
cell.titleLabel?.text = self.tableData[indexPath.row]
// cell.imageView.image = "First.png"
return cell
}
您的问题在这一行:
var tableImages: [UIImage] = [squatImage, squatImage2]
您正在尝试访问成员变量 squatImage
(和 squatImage2
),在 Swift 有机会知道 squatImage
实际上定义为您 TableViewController
class.
的成员
如果您改为在 viewDidLoad
方法中定义 tableImages
数组(即在运行时),您的代码将起作用。
解决方案 1: 不要单独定义 UIImage,而是这样做:
var tableImages: [UIImage] = [UIImage(named:"First.png")!, UIImage(named:"Second.png")!]
解决方法二:如果你想单独设置图片然后插入到数组中那么定义一个空数组:
var squatImage = UIImage(named:"First.png")!
var squatImage2 = UIImage(named:"Second.png")!
var tableImages: [UIImage] = []
override func viewDidLoad() {
super.viewDidLoad()
tableImages = [squatImage,squatImage2]
// Do any additional setup after loading the view.
}
我正在尝试创建一个 UIImage 数组,但出现错误:
TableViewController.type does not have a member named squatImage
我正在尝试创建一个数组,以便我可以将不同的图像添加到我拥有的 tableView 的每个单元格中。
相关代码如下:
class TableViewController: UITableViewController {
var selectedIndexPath : NSIndexPath?
var tableData = ["Squats","Bench Press","Bent Over Row","Barbell Shrugs","Tricep Extensions","Straight Bar","Hyperextensions","Cable Crunches"]
var squatImage = UIImage(named:"First.png")!
var squatImage2 = UIImage(named:"Second.png")!
var tableImages: [UIImage] = [squatImage, squatImage2]
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 8
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(cellID, forIndexPath: indexPath) as! PickerTableViewCell
cell.titleLabel?.text = self.tableData[indexPath.row]
// cell.imageView.image = "First.png"
return cell
}
您的问题在这一行:
var tableImages: [UIImage] = [squatImage, squatImage2]
您正在尝试访问成员变量 squatImage
(和 squatImage2
),在 Swift 有机会知道 squatImage
实际上定义为您 TableViewController
class.
如果您改为在 viewDidLoad
方法中定义 tableImages
数组(即在运行时),您的代码将起作用。
解决方案 1: 不要单独定义 UIImage,而是这样做:
var tableImages: [UIImage] = [UIImage(named:"First.png")!, UIImage(named:"Second.png")!]
解决方法二:如果你想单独设置图片然后插入到数组中那么定义一个空数组:
var squatImage = UIImage(named:"First.png")!
var squatImage2 = UIImage(named:"Second.png")!
var tableImages: [UIImage] = []
override func viewDidLoad() {
super.viewDidLoad()
tableImages = [squatImage,squatImage2]
// Do any additional setup after loading the view.
}