0
私はアプリがすでにインストールされているかどうかを確認しようとしています。もしそうなら、すべての保留中のローカル通知を削除します。このコードを使用しようとしていますが、Core Dataに正しく保存されていないようです。コアデータの読み込み時にBoolを更新する
// check to see if the app has already been installed
let global = Global(context:coreDataStack.managedContext)
print("Has the app been installed before = \(global.wasLoaded)") // returns false
if(global.wasLoaded == false){
print("remove local notifications")
// remove all notifications
center.removeAllPendingNotificationRequests()
global.wasLoaded = true
coreDataStack.saveContext()
print("Has the app been installed before = \(global.wasLoaded)") // returns true
}
次回にアプリケーションを実行すると、wasLoad boolがfalseに戻ってきます。 この作業を正しく行うためにここでフェッチ要求を実行しましたか?
ありがとうございましたjjatie、私はコアデータがこれを殺すのを知っていますが、アプリケーションの残りの部分は既にコアデータを使用していますので、リストにエンティティを追加してそのように追跡していると思っていました。私は要求を逃していると仮定しましたが、そのことについての詳細は覚えていませんでした。 – icekomo
この場合、コアデータフェッチにはすでに関連しているので、多くの質問があります。私はそれらをチェックすることをお勧めします。それでも、これは単純に 'UserDefaults'を使うよりもはるかに遅い解決策です。あなたのソリューションの – jjatie
は、最初の起動アクションが実行された後にisFirstLaunch = trueを設定しますか? – icekomo