我想有一个函数返回当前在我的表视图中使用的单元格。
以下是我正在尝试的代码示例
class custom1Cell: UITableViewCell {
@IBOutlet weak var p1: UITextField!
@IBOutlet weak var p2: UITextField!
@IBOutlet weak var p3: UITextField!
@IBOutlet weak var imageView: UIImageView!
}
class custom2Cell: UITableViewCell {
@IBOutlet weak var a1: UITextField!
@IBOutlet weak var a2: UITextField!
@IBOutlet weak var a3: UITextField!
@IBOutlet weak var imageView: UIImageView!
}
class EditProp: UITableViewController, ImagePickerDelegate {
func setImageValue(image: UIImage?) {
if image != nil {
let cell = getCurrentCellType()
cell.imageView.image = image!
}
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "mediaChooser" {
let destinationViewController = segue.destinationViewController.topViewController as ImagePickerViewController
destinationViewController.delegate = self
let cell = getCurrentCellType()
destinationViewController.image = cell.imageView.image
}
}
}
所以我想要的是用我正在使用的单元格的当前实例获取getCurrentCellType()的方法。会回来的东西
self.tableView.dequeueReusableCellWithIdentifier("custom1Cell") as custom1Cell
或
self.tableView.dequeueReusableCellWithIdentifier("custom2Cell") as custom2Cell
或者通过customTemplateCell:UITableViewCell的传承来声明我的所有custom1Cell,custom2Cell,这样就可以访问每个中的图像。
在我的表视图中一次只有一个单元格,而且,我得到了类似9单元格类型的东西。所以我想不要在我需要做出异常或访问imageView的每个地方进行切换......
有没有办法做到这一点,或者我做错了吗?
我是一个快速的小菜鸟。这是一个学习项目,我正在学习快速学习,所以对你的解释很好。提前谢谢!
如果我必须执行customTemplateCell,如何链接插座?
答案 0 :(得分:0)
我赞美@Paulw11
这样做的方法是使用一个类使customXCell继承imageView出口而不在每个customXCell中覆盖它。
看起来像:
class Custom1Cell: CustomTemplateCell {
@IBOutlet weak var p1: UITextField!
@IBOutlet weak var p2: UITextField!
@IBOutlet weak var p3: UITextField!
@IBOutlet weak var p4: UITextField!
}
class Custom2Cell: CustomTemplateCell {
@IBOutlet weak var a1: UITextField!
@IBOutlet weak var a2: UITextField!
}
class CustomTemplateCell: UITableViewCell {
@IBOutlet weak var imageView: UIImageView!
}
必须在CustomTemplateCell中创建插座imageView。要验证它是否有效,您可以将其旁边的点悬停在分屏中,每个imageView都应更改为覆盖状态。