я создал протокол для передачи «itemInformation» на другой контроллер представления через делегат, как показано ниже:мой протокол и делегаты не работают?
protocol ItemDataDelegate {
func ItemInformation(itemID:String,itemname:String,itemPrice:String)
}
class ItemTableViewCell: UITableViewCell {
var passItemID:String?
var PassItemName : String?
var PassAddon : String?
var PassItemPrice : String?
var Itemdelegate: ItemDataDelegate?
@IBOutlet var itemName: UILabel!
@IBOutlet var itemPrice: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBAction func OrderBtnPressed(sender: AnyObject) {
print(PassItemName)
print(PassAddon)
print(passItemID)
print(PassItemPrice)
let itemnameInfo:String = PassItemName!
let itempriceInfo:String = PassItemPrice!
let itemID:String = passItemID!
Itemdelegate?.ItemInformation(itemID,itemname:itemnameInfo as String, itemPrice: itempriceInfo as String)
}
}
Теперь здесь я извлекая протокол по его реализации ниже. для exapmle я просто пытаюсь напечатать значение пропуска здесь, но ничего не происходит.
class CustomAddOnVC: UIViewController,UITableViewDataSource,UITableViewDelegate, ItemDataDelegate{
var ItemTableViewCellObj:ItemTableViewCell?
override func viewDidLoad() {
super.viewDidLoad()
ItemTableViewCellObj?.Itemdelegate = self
}
func ItemInformation(itemID: String, itemname: String, itemPrice: String) {
print(itemID)
print(itemname)
print(itemPrice)
}
}
Есть ли какая-то ошибка, что я делаю здесь?
В вашем CustomAddOnVC установите 'Itemdelegate' к себе. Например: cellInstance. Itemdelegate = self – pkc456
В CustomAddOnVC напишите – Sofeda
проклятые соглашения об именах ... – holex