"applicationWillTerminate" Apple docsが言うように、plistに特定のフラグを設定しない限り、現代のアプリケーションでは呼び出されません。 正しいアプローチはNSUserDefaultに値を格納することです:
SWIFT 3.0の場合:
1)のお金を管理するためのクラスを作成してみましょうし、それらを保存:
class MoneyManager: NSObject {
private let MONEY_KEY = "money"
static let sharedInstance = MoneyManager()
var money: Float? {
get {
let returnValue = UserDefaults.standard.object(forKey: MONEY_KEY) as? Float
return returnValue
}
set(newValue){
if newValue == nil {
UserDefaults.standard.removeObject(forKey: MONEY_KEY)
} else {
UserDefaults.standard.set(newValue!, forKey: MONEY_KEY)
}
UserDefaults.standard.synchronize()
}
}
}
2)でそれを使用します
let money = MoneyManager.sharedInstance.money
if money == nil{
MoneyManager.sharedInstance.money = 1000
}
私たちがUserDefaults.standard.synchronize()を呼び出すたびに、すべて安全に保存されます。
この値を安全にする必要がある場合は、キーチェーンを調べて、更新されるたびに上記の方法で値を保存することも検討します。 1つのアプリイベントに頼ると、アプリのクラッシュなどのデータが失われ、アプリデリゲートイベントが発生しなくなる可能性があります。 –