Я изучаю быстро в течение последних нескольких дней, и я столкнулся с ошибкой, которую я застрял довольно долго.Имея проблему, захватывая индекс выбранной таблицы просмотра в swift
Я пытаюсь получить выбранную indexPath, чтобы затем я мог передавать данные в соответствии с выбранным им элементом. Я просматривал и пробовал много разных решений, которые я нашел при переполнении стека, а также на разных веб-сайтах, но я не могу это понять.
код ниже:
@IBOutlet var selectGroceryTable: UITableView!
/* Get size of table */
func tableView(tableView: UITableView, numberOfRowsInSection: Int) ->Int
{
return grocery.count;
}
/* Fill the rows with data */
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let myCell:UITableViewCell = selectGroceryTable.dequeueReusableCellWithIdentifier("groceryListRow", forIndexPath:indexPath) as! UITableViewCell
myCell.textLabel?.text = grocery[indexPath.row];
myCell.imageView?.image = UIImage(named: groceryImage[indexPath.row]);
return myCell;
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
print("Row Selected");
NSLog("Row Selected");
}
Ничто никогда не печатает действует как функция не вызывается. Однако я не понимаю, почему это нельзя назвать?
Любая помощь была бы принята с благодарностью!
UPDATE:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
selectGroceryTable.data = self;
selectGroceryTable.delegate = self; //gives error states you can not do this
}
Вы реализовали selectGroceryTable.delegate = self? – bolnad
Я получаю сообщение об ошибке при попытке сделать это .. см. Обновленный код, пожалуйста, – user5600884
Возможно, потому, что вы не объявляли класс в соответствии с протоколом делегирования. Мы все были на вашем месте, и это трудно понять без какой-либо помощи, большие книги раннего ранчо Aaron Hilligas были действительно полезны для меня, когда я начинал, удачи! – bolnad