問題タブ [nsnotifications]

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.

0 投票する
2 に答える
5837 参照

iphone - iPhoneアプリケーションでポップビューコントローラーの通知を追加するにはどうすればよいですか?

iPhoneMP-ムービープレーヤー-コントローラーのサンプルアプリケーションを見てきました。

彼らはサンプルコードに関する通知を追加しました。

上記のコードでは、MPMoviePlayerControllerの読み込みが完了すると、moviePreloadDidFinishメソッドが呼び出されます。

同様に、ユーザーがナビゲーションバーから戻るボタンを押したときにメソッドを起動したいと思います(ナビゲーションコントローラーを介して前のビューコントローラーに戻ります)。

そのための通知を追加する方法がわかりません。

0 投票する
2 に答える
809 参照

objective-c - Issue with NSWorkspace and NSNotificationCentre's block-based API in Snow Leopard

I've been having some trouble with Snow Leopard's new block-based API for observing notifications from NSWorkspace's NSNotificationCenter.

If I register for notifications using the traditional selector-based method, then I am able to observe the desired notification. If I try using the new method that takes a block, then it doesn't work.

In the code block below, setting usingBlockNotifications to either YES or NO should produce the same result, i.e. "didReceiveNoticationTest: called" printed to the console when an app launches, but I don't get the message when it's set to YES.

Any suggestions on what I'm doing wrong?

0 投票する
1 に答える
1126 参照

iphone - iPhone SDK: キーボードの外観の処理

キーボードが表示されたら、View Controller の UI 要素を移動する必要があります。これを行うには、アプリ デリゲートでキーボード通知を登録します。

[[NSNotificationCenter defaultCenter] addObserver:observer selector:@selector(keyboardWasShown:) name:UIKeyboardDidShowNotification object:nil];

次に、Apple の規定に従って通知を処理し (キーボード用の同様のコードが表示されました)、ビューを上下にスクロールします。

- (void)keyboardWasHidden:(NSNotification*)aNotification { CGRect viewFrame = [self.view frame]; viewFrame.origin.y += keyboardSize.height - TOOLBAR_HEIGHT; self.view.frame = viewFrame; }

ここまでは順調ですね。今問題の説明:

このコードを実行して OS 3.0 固有のメッセージ UI を表示すると:

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; [self presentModalViewController:picker animated:YES];

キーボードが実際のメール UI に表示されている場合でも、ビューをスクロールするキーボード通知が表示されるため、UI が壊れます (メール コントローラーが画面全体を占有し、この時点ではビューが表示されないことに注意してください)。

キーボード通知を一時的に無効にすることを望んでいたため、スクロールコードは次の行で呼び出されません。

[[NSNotificationCenter defaultCenter] removeObserver:self];

しかし、それは役に立ちません。キーボードはまだ投稿されています。

メッセージ UI によって作成されたときにキーボードで反応しないようにするにはどうすればよいですか?

0 投票する
1 に答える
604 参照

cocoa - カップリングなしでNSNotificationを使用するための名前文字列を定義する

アプリでNSNotificationsを使用して、コードを分離します。

通知の名前として文字列を使用するときにコンパイラが助けてくれるようにしたいのです。つまり、文字列を間違って入力した場合は、コンパイラに教えてもらいたいのです。

これに通常の文字列を使用しても機能しません。コンパイラは、入力"myNotificaion"した場合にそれが本当に意味することを認識しないため"myNotification"です。

これを行う1つの方法は、#definesまたはconst NSString変数を使用することですが、これは、元のクラスまたはグローバルに含まれるファイルのいずれかで、ファイルで宣言する必要があることを意味します。

それらが元のクラスで宣言されることの問題は、通知がリッスンされるすべての場所に含まれる必要があるため、私が望まない結合を作成することです。

グローバルファイルの問題は、ファイルが長くて乱雑になる可能性があり、無関係なものがたくさん含まれる可能性があることです。

この結合や乱雑さなしにこれを達成する方法はありますか?

0 投票する
2 に答える
384 参照

objective-c - モデルクラスのUIProgressBarと対話する

Cocoa TouchアプリにMainViewControllerがあり、ビューを含むステータスビューが表示されUIProgressBarます。

MainViewControllerから、FlickrImageモデルオブジェクトが作成され、繰り返されます。FlickrImageオブジェクト自体がFlickrAPIと相互作用するため、時間がかかります。そのため、ユーザーにプログレスバーを表示してもらいたいのです。課題(少なくとも私にとっては;)はprogress、オブジェクトからUIProgressBar(メッセージの送信)を操作することFlickrImageです。を使用してこれを行うのですか、それともMainViewControllerをNSNotificationCenterでフォワードクラスとして宣言FlickrImageし、UIProgressBarと直接対話することができますか?

0 投票する
6 に答える
20842 参照

iphone - NSNotificationCenterと委任(プロトコルを使用)?

それぞれの長所と短所は何ですか?
具体的にどこで使うべきですか?

0 投票する
2 に答える
553 参照

iphone - アプリケーションの通知を登録解除するiPhoneは、なぜ終了しますか?

アプリケーションで通知を登録解除する必要があるのはなぜかといつも思っていましたが、メソッドが終了します。そうしないと気付くことが何も起こらないことを私は知っているので、そうしないことの意味は何ですか?どんな助けでも大歓迎です。

ありがとうございました。

-オスカー

0 投票する
1 に答える
160 参照

iphone - テーブルビューセルからのイベントのリッスン

カスタムの uitableviewcell があります。uitextfield があります。uitextfield キーボードのリターン キーが押されたときに、親のテーブル ビュー コントローラーが動作するようにしたいと思います。アプリ全体のイベント通知を作成せずに、親テーブルビューへの通知を取得するにはどうすればよいですか? それとも、それが最善の方法ですか?

0 投票する
2 に答える
539 参照

iphone - コア データ: 保持せずに維持するにはどうすればよいですか?

iPhone Core Data コードの非常に悪質な問題をデバッグしようとしています。

セットアップは次のとおりです。Webサービスをポーリングし、その結果をNSNotificationメインスレッドに送信するために存在するスレッドがあります(userDict一連の文字列とNSNumbersで渡されます)。メイン スレッドに渡すために、Tim Hatcher の通知ライブラリを使用しています。

メイン スレッドは us​​erDict を受け取り、その値を抽出して新しい管理対象オブジェクトに挿入します。ここまでは順調ですね。

ただし、これで問題が発生しますが、すぐではありません。スレッドがその結果をメイン スレッドに送信し、新しいオブジェクトをコンテキストに保存した後、特定の一連の操作 ( 1 つNSFetchRequestまたは 2 つのリレーションシップの割り当てを含む) を実行できます。EXC_BAD_ACCESSフェッチされた管理対象オブジェクトのプロパティ。

もう 1 つの面白い点は、問題を解決できることです。これを行うには、シングル[userDict retain]をスレッド内に配置してNSNotificationから、メイン スレッドに投稿して管理対象オブジェクトに保存します。NSString受信スレッドで値を受け取るとすぐに新しいオブジェクトを作成して、オブジェクトを互いにファイアウォールで保護しても問題ありません。それがなくてもクラッシュしretainます。

何が得られますか???