問題タブ [addobserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Apple Watch 経由でアプリのコンテンツを簡単に更新する方法
AppleWatch アプリのボタンを押したときに iPhone アプリのビューを簡単に更新する方法がまだ見つかりませんでした。
次のように NSUserDefaults Observer で試しました。
iPhone アプリ Viewcontroller(ViewDidLoad() 内):
Watchkit Extensions InterfaceController に、次のコードのボタンを含む IBAction を追加しました。
しかし、ボタンを押しても何も起こりません!iPhone ViewController 内にオブジェクトを設定すると機能しますが、アプリ経由で更新すると機能しません! 誰かが私を助けることができますか?
swift - 通知オブザーバーを設定する別の方法 (セレクターを使用)
以下のコードを使用して、通知オブザーバーを正常にセットアップしました。
ただし、間違ったメソッド名を入力またはコピー/貼り付けできる可能性があるため、上記のコーディングスタイルには興味がありませんaction:。
だから私はaddObserver別の方法でしようとしました: NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector(/* What to pass in here??? */), name: notificationString, object: nil)、何を渡すかわかりませんselector: Selector(...)。
XCode は私にヒントを与えます: Selector(action(notification: NSNotification)、しかしこれは違法です。
Objective C では、このフェーズで簡単にメソッドを見つけることができますが、Swift では方法がわかりません。
この構文を試しましたか? お知らせ下さい。
ありがとう、
ios - addObserver のオブジェクトが異なります
私は次のコードを持っています:
メソッドは self のプロパティを使用します。
場合によっては (常にではありません)、ハンドラー内の self オブジェクトが別のオブジェクト (およびクラッシュの原因となる初期化されていないオブジェクト) です。
何が間違っているのか、このケースを回避する方法がわかりません。オブジェクトは"self"コピーされますか?
swift - Swift: NSObject.addObserver( ... options: .New ) で使用される .New プロパティを所有するクラスは?
Swift での KVO の現在のベスト プラクティスは、この SO 投稿に詳しく記載されており、次のようになります。
これをObserversManager (たとえば) クラスにカプセル化することで、メモリ管理の問題を簡素化したいので、次のようなことができます。
問題は、上記のfunc オブザーバーが次のコンパイル時エラーをスローすることです。公式ドキュメントには回答の詳細が記載されていないため、現時点では修正できません。
Could not find member 'New'
