問題タブ [awakefromnib]

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 に答える
4683 参照

ios - UITableViewCell オブジェクトに対して awakeFromNib が呼び出されない

から継承するクラスがUITableViewCellあり、たくさんのIBOutlets. 以前は、セルを再利用し、必要に応じて初期化するという方法でこのオブジェクトを使用していました。このメソッドは遅すぎるため、UITableViewCellオブジェクトの配列を作成し、必要に応じてcellForRowAtIndexPath:メソッドに追加することにしました。

オブジェクト以外はすべて正常にロードされIBOutletます。awakeFromNibは呼び出されないので、これは私の問題と関係があると思います。

関数内のセルを初期化していたときに正常に呼び出されたことを明確にするためにcellForRowAtIndexPath、ビューコントローラーメソッドでセルをプリロードしようとしたときにviewWillAppear壊れました。

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

objective-c - Objective-C: 効率的な方法でのローカリゼーション

すべての言語に文字列ファイルやローカライズされた xib ファイルを作成して、プログラムをローカライズしてきました。ローカライズされたすべての xib ファイルを維持し、インターフェイスに新しい機能を追加するのは複雑であるため、このプロセスは非常に時間がかかります。

これを回避するために、私の最新のプロジェクトでは、インターフェイス上のすべての UI 要素に対して IBOutlets を作成し、文字列ファイル-(void)awakeFromNibを使用してすべての要素のタイトルと文字列値を変更しました。NSLocalizedString

複数のxibを作成したり、「それらを同期させておく」ために時間を無駄にしたりする必要なく、すべてのUIを一括変換するより効率的な方法は他にありますか?

これを解決するためのアイデアが 1 つあります。次のような NSObject のカテゴリを作成しました。

私のカテゴリでわかるようにNSTextField、翻訳プレースホルダーをNSTextFieldテキストとして保持することで、アプリケーションのすべてのオブジェクトの値を簡単に変更できます...

これは問題なく動作しますが、アプリケーション内のすべてのオブジェクトに対して実行されるため、パフォーマンスが心配です。

これをするのは悪いことですか?より良い代替手段はありますか?

PS: 私はNSObjectand not NSTextFieldorのカテゴリを作成しました。これは、新しいカテゴリを作成する代わりにNSWindow、すべてのローカリゼーション ロジックを 1 か所に保持し、else if翻訳する可能性のあるすべての UI クラスに別のステートメントを追加するだけで済むためです。

0 投票する
0 に答える
91 参照

objective-c - IBActionなしでラベル(NSTextfield)を更新するには?

私は単純なメカニズムを実装しようとしています: ファイルをドラッグした後、その名前を lable に渡します。しかし、私はこれを行う方法を理解できませんでした。これが私のコードです:Hファイル:

M ファイル:

psこことGoogleで正直に答えを探しましたが、何も見つかりませんでした。

0 投票する
0 に答える
293 参照

cocoa - awakeFromNib が継続的に呼び出される

NSView 内にビュー ベースの NSOutlineView があります。アプリでビューが表示されると、outlineview がちらつき続けます。[myOutlineView reloadData] を含む awakeFromNib が繰り返し呼び出されています。ただし、ウィンドウのサイズを変更すると (したがってビュー)、ちらつきが治まり、awakeFromNib が呼び出されなくなります。

ちらつきは、awakeFromNib で reloadData を繰り返し呼び出すことが原因であると推測されます。私が判断できないのは、 awakeFromNib が継続的に呼び出される理由です。NSTableCellView が NSOutline (here)によって作成されるたびに呼び出されることは理解していますが、これはなぜそれが継続的に呼び出されるのかを説明していません。

ウィンドウのサイズを変更するとこの動作が停止するため、NSOutlineview が埋め込まれている NSScrollView を疑っていましたが、これを確認する方法も、さらに重要な修正方法もわかりません。

では、この動作の原因について誰かが私にガイダンスを与えることができますか?

編集

これは awakeFromNib でブレークしたスタック トレースです。これに基づくと、awakeFromNib を呼び出す NSTableCellView の作成のように見えますが、なぜこれが継続的に行われるのでしょうか?