4

リスト ビューの項目の行を削除および移動できません。

Appleはトレーニングビデオでこれらの方法を提供しましたが、機能しません

削除する場合:

array.remove(atOffsets: IndexSet)

移動の場合:

array.move(fromOffsets: IndexSet, toOffset: Int)

これらの方法は両方とも、アップルのドキュメントでは利用できません。

シミュレータ画面

4

3 に答える 3

3

あなたが参照しているメソッドは、Xcode 11 GM で利用できるようになりました。このように使用できます。

要素の削除

TLDR:

.onDelete{offsets in
            self.array.remove(atOffsets: offsets)

完全なコード (コピーして貼り付けることができます): import SwiftUI

struct MyTableView : View {

@State var array=[1,2,3,4,5]

var body: some View {

    List{
        ForEach(array,id:\.self){element in
            Text("\(element)")
        }
        .onDelete{offsets in
            self.array.remove(atOffsets: offsets)

        }
    }

    }
}


struct MyTableView_Previews : PreviewProvider {
    static var previews: some View {
        MyTableView()
    }
}

移動要素

.onMove { (offsets, targetOffset) in
            self.array.move(fromOffsets: offsets, toOffset: targetOffset)
        }
于 2019-06-07T08:59:21.960 に答える