最近Xcode 8.0でプロジェクトをSwift 3に変換しましたが、わかりにくい関数でエラーが発生しました。これらのラインに:Swift 3.0 UITableViewDelege Objective-cメソッドが要件のセレクタと一致しません
extension HomeTableViewController : UITableViewDelegate {
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
}
}
エラーを解決するには、Xcodeはちょうどメソッドの前に@objc(tableView:commitEditingStyle:forRowAtIndexPath:)
を追加するために私に語りました。
さて、それは動作しますが、それはこの方法だけのために必要とされる理由を私は得ることはありません。
Xcodeは私のtableView:heighForHeaderInSection
の前で@objcものを追加する必要はありませんが、私はこの方法とtableView:commitEditingStyle:forRowAtIndexPath:
間UITableViewDelegate
の違いが表示されません。
したがって、tableView:commitEditingStyle:forRowAtIndexPath
メソッドでこの必須項目が必須である理由は分かりますか?
ありがとうございます!
@objc(tableView:heightForRowAtIndexPath :)メソッドと同じ問題があります。いいえアイデア理由 – Maiaux