複数のセクションを持つNSCollectionViewからアイテムを追加/削除する方法

TheAltruist

背景:
私は新しい開発者であり、どこに助けを求めるべきかわかりません。この1週間、この問題のトラブルシューティングを行ってきましたが、何が問題を引き起こしているのかわかりません。初めての投稿ですが、いいメンバーになりたいので、間違えた場合はお知らせください。喜んで訂正させていただきます。

ありがとうございました!

問題: 5つのセクションが
あるNSCollectionView設定しています。5つのセクションに新しいアイテムを追加するボタンが5つあり、選択したアイテムを削除するボタンが1つあります。現在、1つのボタンが設定されています。

ただし、コレクションビューでアイテムが適切に追加または削除されていないようです。

また、起動時にコレクションビューにアイテムが追加されていない場合、アプリはクラッシュします。

また、新しいアイテムを追加すると、コレクションビューにアイテムが追加されます。

作業: raywenderlich.com、ductran.com、youtubeビデオ、中程度の記事、stackoverflow.comの投稿、アップルのドキュメントなど、
いくつかのNSCollectionViewチュートリアルを実行しました

より役立つリンクのいくつかを次に示します
。raywenderlich-パート
1raywenderlich-パート
2ductran-写真アプリ
ductran-ニュースアプリapple-
ドキュメント

私は最初から最後まで1行ずつデバッグし、最初から数回開始し、最も単純なコレクションビューを作成し、UICollectionViewから参照して段階的に追加しました。

私は学びたいと思っていますが、で利用できるリソースNSCollectionViewは少ないようです。

コード:
問題がどこにあるのかわからないので、どのコードを投稿すればよいかわかりません。

アプリをgithubにアップロードしました:リンク

問題はで発生している可能性があると思いますdeleteItemsAtIndexPaths間違ったアイテムが削除され、すべてのアイテムが削除されるとアプリがクラッシュします。

func deleteItemsAtIndexPaths(_ indexPaths: [IndexPath]) {
        var indexes = [Int]()
        for indexPath in indexPaths {
            indexes.append(absoluteIndexForIndexPath(indexPath))
        }
        var newWebsites = [Website]()
        for (index, website) in websites.enumerated() {
            if !indexes.contains(index) {
                newWebsites.append(website)
            }
        }
        websites = newWebsites
    }

fileprivate func absoluteIndexForIndexPath(_ indexPath: IndexPath) -> Int {
    var index = 0
    for i in 0 ... (indexPath as NSIndexPath).section {
        index += numberOfWebsitesInSection(i)
    }
    index += (indexPath as NSIndexPath).item
    return index
}
TheAltruist

追加/削除:
余分な/間違ったアイテムはに関連していましたabsoluteIndexForIndexPath.. <

クラッシュ ではなく...に設定されました
クラッシュはviewForSupplementaryElementOfKindに関連していましたNSCollectionView機能は必要なif/thenのための一連のwebsitesInSection > 0

作業NSCollectionView:5つのセクションと5つのボタンとリンク

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Laravelのセッション配列からアイテムを削除する方法

分類Dev

コレクションから複数の条件フィールドを持つアイテムを公開することは可能ですか?

分類Dev

Nの倍数であるインデックスを持つ配列からアイテムを削除する方法

分類Dev

セッション配列のインデックスを指定してlaravelセッションからアイテムを削除する方法

分類Dev

ノックアウト、コレクションプロパティに複数のアイテムが含まれている場合、コレクションプロパティから1つのアイテムを削除しようとすると、コレクションプロパティがnullになりますか?

分類Dev

特定のカテゴリのカートアイテムをWooCommerceセッションから削除する方法

分類Dev

NodeJS:1つの一意の値と1つの重複する値を持つアイテムをコレクションに追加する

分類Dev

SherlockFragmentからアクションアイテムを追加する方法

分類Dev

複数のパーティションを持つレイアウトをRAMディスクにインポートする方法はありますか?

分類Dev

Spring Data / JPA:複数の子コレクションを持つアイテムを保存するにはどうすればよいですか?

分類Dev

複数のアクションを持つ1つのフォームを作成する方法

分類Dev

Laravel:IDでコレクションからアイテムを削除する方法

分類Dev

Oracle Apexは、複数のアプリケーションでグローバルスコープを持つアプリケーションアイテムにアクセスする方法

分類Dev

Laravelのセッションから1つのコマンドで複数のキーを削除する方法

分類Dev

インデックスを使用してリストから複数のセクションを削除する

分類Dev

RxSwiftの遅延でコレクションからアイテムを1つずつ放出する方法

分類Dev

複数の値と重みを持つアイテムをランク付けする最速の方法

分類Dev

1つのステートメントでPythonリストから複数のアイテムを削除する

分類Dev

チェックボックス列を使用してDataGridViewから複数のアイテムを削除する方法

分類Dev

QTreeWidget、QListWidget、またはQListViewから複数のアイテムを削除する方法

分類Dev

AngularFire配列から複数のアイテムを削除する方法は?

分類Dev

アクションバーのドロップダウンナビゲーションメニューからアイテムを削除する方法

分類Dev

pandas-複数の値を持つ列から重複を削除し、アイテムをカウントします

分類Dev

SwiftUIのリストのセクションにあるアイテムを削除する方法

分類Dev

AmazonのDynamoRubySDKのアイテムコレクションからアイテムを取得する方法

分類Dev

コンボボックスからリストコレクションにアイテムを追加する方法

分類Dev

SwiftUIのセクションリストからアイテムを削除します

分類Dev

FirestoreRecyclerViewからrecyclerviewに複数のアイテムを追加する

分類Dev

コレクションからアイテムを削除するためのベストプラクティス

Related 関連記事

  1. 1

    Laravelのセッション配列からアイテムを削除する方法

  2. 2

    コレクションから複数の条件フィールドを持つアイテムを公開することは可能ですか?

  3. 3

    Nの倍数であるインデックスを持つ配列からアイテムを削除する方法

  4. 4

    セッション配列のインデックスを指定してlaravelセッションからアイテムを削除する方法

  5. 5

    ノックアウト、コレクションプロパティに複数のアイテムが含まれている場合、コレクションプロパティから1つのアイテムを削除しようとすると、コレクションプロパティがnullになりますか?

  6. 6

    特定のカテゴリのカートアイテムをWooCommerceセッションから削除する方法

  7. 7

    NodeJS:1つの一意の値と1つの重複する値を持つアイテムをコレクションに追加する

  8. 8

    SherlockFragmentからアクションアイテムを追加する方法

  9. 9

    複数のパーティションを持つレイアウトをRAMディスクにインポートする方法はありますか?

  10. 10

    Spring Data / JPA:複数の子コレクションを持つアイテムを保存するにはどうすればよいですか?

  11. 11

    複数のアクションを持つ1つのフォームを作成する方法

  12. 12

    Laravel:IDでコレクションからアイテムを削除する方法

  13. 13

    Oracle Apexは、複数のアプリケーションでグローバルスコープを持つアプリケーションアイテムにアクセスする方法

  14. 14

    Laravelのセッションから1つのコマンドで複数のキーを削除する方法

  15. 15

    インデックスを使用してリストから複数のセクションを削除する

  16. 16

    RxSwiftの遅延でコレクションからアイテムを1つずつ放出する方法

  17. 17

    複数の値と重みを持つアイテムをランク付けする最速の方法

  18. 18

    1つのステートメントでPythonリストから複数のアイテムを削除する

  19. 19

    チェックボックス列を使用してDataGridViewから複数のアイテムを削除する方法

  20. 20

    QTreeWidget、QListWidget、またはQListViewから複数のアイテムを削除する方法

  21. 21

    AngularFire配列から複数のアイテムを削除する方法は?

  22. 22

    アクションバーのドロップダウンナビゲーションメニューからアイテムを削除する方法

  23. 23

    pandas-複数の値を持つ列から重複を削除し、アイテムをカウントします

  24. 24

    SwiftUIのリストのセクションにあるアイテムを削除する方法

  25. 25

    AmazonのDynamoRubySDKのアイテムコレクションからアイテムを取得する方法

  26. 26

    コンボボックスからリストコレクションにアイテムを追加する方法

  27. 27

    SwiftUIのセクションリストからアイテムを削除します

  28. 28

    FirestoreRecyclerViewからrecyclerviewに複数のアイテムを追加する

  29. 29

    コレクションからアイテムを削除するためのベストプラクティス

ホットタグ

アーカイブ