背景:
私は新しい開発者であり、どこに助けを求めるべきかわかりません。この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
}
追加/削除:
余分な/間違ったアイテムはに関連していましたabsoluteIndexForIndexPath
。.. <
クラッシュ ではなく...に設定されました:
クラッシュはviewForSupplementaryElementOfKind
。に関連していました。NSCollectionView
機能は必要なif/then
のための一連のwebsitesInSection > 0
作業NSCollectionView
:5つのセクションと5つのボタンとリンク
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加