送信者が通知を受け取り、発生後にそのタイトルを変更するボタンがあります。発射する前に、ボタンのタイトルは "A"です。発射後、ボタンのタイトルは「B」です。Save UIButtonレルムスウィフト3の状態を通知センターで変更
変更された状態をRealmに保存しようとしているため、ユーザーはボタンが変更されたことを確認できます。
ポスト(発生)通知は、UIViewを追加する別のボタンアクションで発生します。そのサブビューは、ポスト通知を所有している:ポストが発射されたときに
NotificationCenter.default.post(name: fireNotification, object: nil)
他のアドオン(オブザーバー)通知は、このイベントに作用する:
// MARK: - Observe Notification
NotificationCenter.default.addObserver(forName: fireNotification, object: nil, queue: nil) { notification in
print("Notification Observed")
sender.setTitle("B", for: .normal)
sender.setTitleColor(.red, for: .normal)
sender.isEnabled = false
}
これは明らかに私がどのようにBにボタンの状態を変更しますこれを私の世界に書き出して保存しますか?私は試しました:
// MARK: - Observe Notification
NotificationCenter.default.addObserver(forName: fireNotification, object: nil, queue: nil) { notification in
print("Notification Observed")
let realm = try! Realm()
try! realm.write {
sender.setTitle("B", for: .normal)
sender.setTitleColor(.red, for: .normal)
sender.isEnabled = false
}
}
オブジェクトのパラメータに何かを追加する必要がありますか?
ねえドミトリーは、あなたが私に例を与える気にしませんか?ボタンはレルムがサポートするタイプではないため、プロパティとして使用することはできません。私はデータを使ってみましたが、それはうまくいきません。ストーリーボードを介してプログラムやボタンを作成し、 'isSelected'をオンにし、' UIImage(名前は "abc") 'を使って、コンセントからのすべての置換を試みました。私はドキュメントを読んだ。テーブルビューやコレクションビューのカスタムボタンにはどこにも例がありません。 –
レコードについては、Realm Notificationsも使用しています(これは素晴らしいですが)。ボタンにIndexPathがないため、IndexPathで選択した項目の状態を保存できません。 –