xcodeを使用してコードベースをswift 3.0に移行しようとしています。私が理解できない問題はほとんどありません。Swift 3.0の移行エラー: 'IndexPath'以外のプロトコルタイプに制約された 'Element'タイプ
問題:エラーナビゲーションパネルの左側にType 'Element' constrained to non-protocol type 'IndexPath'
は、それだけでエラー以下に示します。エラーの原因となるコード行やコードの枝がわからない。
誰も私がこれをしてください解決するために助けることができます。
UPDATE
私はこれらの問題に悩まされています。
UPDATE
あなたの助けありがとうございました。今私は次の問題に直面しました。あなたのほとんど
ソースコードを投稿することが求めているが、Xcodeは、ページ上の警告やエラーのいずれかの種類を示しませんでした。いくつかのジェネリックIndexPath
はプロトコルではないので、それはジェネリックですので、あなただけの拡張を制約するプロトコルを使用することができますので、extension Array where Element: IndexPath {
は動作しません迅速な3では
private extension Array where Element: IndexPath {
func indexOf(_ indexPath: IndexPath) -> Int {
var counter = 0
for object in self {
if object.section == indexPath.section && object.row == indexPath.row {
return counter
}
counter += 1
}
return 0
}
}
fileprivate func < <T : Comparable>(lhs: T?, rhs: T?) -> Bool {
switch (lhs, rhs) {
case let (l?, r?):
return l < r
case (nil, _?):
return true
default:
return false
}
}
シェアエラーや警告上映がないいるファイルでは、この問題 – Wolverine
に直面しているコードの行:プロトコル、のようなものを作成することによってこの問題を回避シャッフルすることができます。 –
@ウォルバイン最新の質問をご覧ください。 –