問題タブ [nsbundle]
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.
objective-c - NSTask 起動パスにアクセスできません
Cocoa プロジェクトで次のコードを使用して、作成したスクリプトを呼び出しています。スクリプトはプロジェクトと同じフォルダーにあり、Xcode の "Resources" フォルダーの下にも表示されます。適切なパスが見つかりましたが、パスにアクセスできないと表示されます。助けてください。
デバッガーで得られる出力は次のとおりです。
2010-07-10 17:53:26.384 tester[5023:a0f] /Users/guest/Library/Developer/Xcode/DerivedData/tester-bhukztmqjwoqrwereagsshvtbfqx/Build/Products/Debug/tester.app/Contents/Resources/script.sh
2010-07-10 17:53:26.386 tester[5023:a0f] launch path not accessible
objective-c - NSBundlebundleWithPathが失敗する
bundleWithPathを使用してバンドルをロードしようとしていますが、常に失敗します(nilを返します)。失敗する理由と、エラーに関する詳細情報を取得する方法は何でしょうか。
よろしくお願いします!
よろしく、
iphone - UIView が setFrame で配置されていない
私はおそらくこれを正しく行っていません。自分にとって自然に思えることをする前に、iPad アプリを作成したことがありません。
他のUIViewで構成されるUIViewがあります。具体的には、これらの各サブビューにサブビューを動的に作成して追加したいと考えています。言い換えると:
xibをロードするためのこのコードをinitWithFrameに追加することで、「Dynamic UIView 1」を取得できました。
できます!私が抱えている問題は、「Dynamic UIView n」が常に画面の左上隅にレンダリングされることです。setFrame で位置を変更しようとすると、フレームを表すブラック ボックスが表示されますが、実際のコントロール コンテンツは左上に残ります。
何か案は?これを行うより良い方法はありますか?
- - - アップデート - - -
ルート ビューのスクリーンショットを次に示します。 メイン UIView の概要 http://www.freeimagehosting.net/uploads/460090996d.png
コントロール全体は、CurrentItemsViewController を呼び出します。緑色の領域は、IB のリンクを介してコードにリンクした UIView です。コード サンプルでは、「itemsUIView」と呼ばれます。CurrentItemsViewController.m 内にアイテムを追加する方法は次のとおりです。
ItemView.m の内部にはこれがありますが、アプローチ 2 と 3 によってのみ呼び出されます。
示されているように、ItemView を 3 つの異なる方法で作成しようとしましたが、それぞれが同じ結果をレンダリングします。ビューをルートビューのサブビューとして追加すると、これが得られます。レンダリングすべき場所に正方形が表示されますが、ViewItem は実際には左上隅にレンダリングされます。上記のサンプルでは、subItemView1 を追加すると、何もレンダリングされません。
代替テキスト http://www.freeimagehosting.net/uploads/c6635ce860.png
iphone - iPhone : MainBundle から NSDocumentDirectory にコピーできません
MainBundle/SampleImages フォルダからアプリケーションの NSDocumentDirectory/Library フォルダにいくつかの画像ファイルをコピーしようとしていますが、コピーできません。画像が .app/Mainbundle/SampleImages ディレクトリにあることを確認し、Library フォルダーが NSDocumentsDirectory に作成されていることも確認しましたが、ファイルはコピーされません。
以下に示す2つのアプローチを試しましたが、成功しませんでした。これは、ファイルをコピーするために使用しているコードです。
最初の方法
2番目の方法
解決策を探すのに数時間を費やしました。ここで何か助けていただければ幸いです。
ありがとうございました
シュマイス・ウル・ハク
objective-c - Objective-C の NSBundle と mainBundle とは何ですか?
iOS アプリケーションの Objective-C について、Apple 開発者の Web サイトでサンプル プログラムを読んだところ、ほぼすべてのアプリケーションに「NSBundle」および「mainBundle」という単語が含まれていることがわかりましたが、これの意味がよくわかりません。語。それは何ですか?
iphone - 現在の iphone アプリケーションのロケールを変更します (NSBundle のカスタム ロケール?)
iPhone アプリでプログラムでロケールを変更したい (基本的に、すべての言語が iPhone 自体でサポートされているわけではないため、ユーザーはアプリケーションの言語のみを切り替えることができるはずです)。別の質問で見たOSX アプリでNSLocalizedString に特定の言語を強制的に使用する方法は? [[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:@"de", nil] forKey:@"AppleLanguages"]; で動作するはずです。-しかし、私にとってはそうではありません... [NSLocale currentLocale]はまだシステム全体のロケールを返し、「メインバンドル」はシステム全体のロケールからのファイルを提供します..
だから..私のアプリケーションにカスタムロケールを設定する方法はありますか? または - 私にとってはどちらで十分ですか - 別のロケールで新しい NSBundle インスタンスを作成しますか?
objective-c - Cocoa Touch でサービス ロケーター パターンを複数のプロジェクトに実装するにはどうすればよいですか?
これは、しばらくの間私を悩ませてきた問題です。私はこれらのパターンのいくつかについてまだかなり新しいので、用語のいずれかを間違って使用した場合は、私を許してください (そして私を修正してください)。
私の方法論
ゲームエンジンを作りました。私のゲーム エンジンのすべてのオブジェクトは、制御の反転を使用して依存関係を取得します。これらの依存関係はすべてプロトコルを実装しており、ブートストラップ フェーズ以外ではプロジェクト内で直接アクセスされることはありません。これらのオブジェクトを取得するために、サービス ロケーターの概念があります。サービス ロケーターの仕事は、特定のプロトコルに準拠するオブジェクトを見つけて返すことです。これはファクトリによく似ていますが、依存関係も処理する必要があります。
サービス ロケータにサービスを提供するために、サービス指定子と呼ばれるものがあります。サービス ロケータは、プロジェクト内のすべてのサービス指定子を認識しており、オブジェクトが要求されると、提供されたプロトコルに準拠するオブジェクトのインスタンスをそれぞれから取得しようとします。このオブジェクトは呼び出し元に返されます。このセットアップの素晴らしい点は、サービス指定子がサービス ロケーターについても認識しているため、依存関係がある場合は、サービス ロケーターにそれらの特定の依存関係を問い合わせるだけです。
例を挙げると、HighScoreManager というオブジェクトがあります。HighScoreManager は PHighScoreManager プロトコルを実装します。PHighScoreManager のインスタンスが必要な場合はいつでも、以下を呼び出して取得できます。
したがって、制御の反転。ただし、ほとんどの場合、これを行う必要さえありません。ほとんどのクラスはサービス指定子に配置されているためです。依存関係として PHighScoreManager が必要な場合は、サービス ロケータを通じて取得されます。したがって、私は制御の反転に対してフラットなアプローチをとっています。
私の問題
ゲーム エンジンのコードを共有したいので、スタティック ライブラリとしてコンパイルしました。これは他のすべての場合にうまく機能しますが、サービスロケーターでは少し扱いにくいようです. 問題は、一部のサービスがゲームごとに変更されることです。上記の例では、あるゲームのスコアは時間であり、別のゲームではポイントである可能性があります。したがって、HighScoreManager は、PScore オブジェクトの作成方法を指示する PHighScoreCreator のインスタンスに依存します。
PHighScoreCreator を HighScoreManager に提供するには、ゲームのサービス指定子が必要です。これを達成するために考えられる唯一の方法は、リフレクションの Cocoa バージョンを使用することでした。いろいろ調べてみたところ、クラスは NSBundle で発見できることがわかりましたが、現在のバンドルを取得する方法はないようです。したがって、サービス指定子を検索できるようにするには、ゲーム ロジックを独自のバンドルにコンパイルし、エンジンにこのバンドルを検索してロードさせる必要があります。これを行うには、エンジン コードとゲーム ロジック バンドルの両方を格納する 3 番目のプロジェクトを作成する必要がありますが、実際には、エンジンの静的ライブラリを使用するゲーム プロジェクトだけが必要です。
私の本当の質問
結局のところ、私の質問は
- Cocoa Touch で達成しようとしていることを行うためのより良い方法はありますか、または
- サービス指定子プロトコルに準拠するクラスをメイン バンドルから検出する方法はありますか?
質問を読んでくれてありがとう。
-らせん
iphone - iPhone mainBundle ファイルの取得
iphone アプリ mainBundle のリソースのすべてのファイル名を取得するために必要な正確なコードがわかりません。次のようなコードがあれば:
それは役に立ちます。助けてくれてありがとう!
nsstring - リソースフォルダに画像をロードするにはどうすればよいですか?
iPhoneプロジェクトに画像があります。これはPNGであり、Interface Builderで背景を設定できますが、これをプログラムで実行したいと思います。
上記は私のボタンのコードです。dock.pngファイルは表示されません。
アップデート。コードを変更したので、IFステートメントは常に実行され、それでも画像は読み込まれません。以下の修正されたコード!
iphone - 複数の異なる UIViewController から NIB ファイルからビューをロードする
このサイトにあるアプローチを使用して、Nibファイルからビューを正常にロードしています
問題は、ファイル所有者を設定する必要があるため、この nib ファイルがこのビュー コントローラーに「添付」されることです。このビューは のサブクラスでUITableViewCell
あり、いくつかの異なる VC からこの nib ファイルをロードしたかったのです。ご協力いただきありがとうございます。