SwiftUI よくやること
iOS よくやる手順
CoreData データ入れ替え
swift
import SwiftUI
@Environment(\.modelContext) private var modelContext
try? modelContext.delete(model: Book.self) // 全削除
for bookName in bookNames {
modelContext.insert(Book(name: bookName)) // insert
}
CoreData 検索
swift
let predicate = #Predicate<Book> { book in
book.name == name
}
let fd = FetchDescriptor<Book>(predicate: predicate)
guard let book = try? modelContext.fetch(fd).first else {
return
}
CoreData
ファイルから読む
準備 アプリ内のディレクトリにファイルをコピー
- Copy items if needed : On
- Add to targets でアプリが指定されていることも確認
そうすると、Bundle.main.path(..)
で参照可となる。配置したディレクトリは関係なし
swift
let manager = FileManager.default
guard let path = Bundle.main.path(forResource: "filename", ofType: "json"),
let content = manager.contents(atPath: path)
else {
return
}
...
Document ディレクトリを Finder (iTunes) から見れるようにする
Info.plist で、Application supports iTunes file sharing
を YES
に設定する
比較/ソートでひらがなカタカナ、数字対応
swift
items.sorted(by: { $0.nameUnwrapped.localizedCompare($1.nameUnwrapped) == .orderedAscending })
// または
names.sorted(using: .localizedStandard), id: \.self)