問題タブ [initwithcoder]

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

ios - ストーリーボードを使用する場合、objective-c でカスタム init メソッドをどのように実装しますか?

ストーリーボードを使用していくつかのボタンとラベルを作成しXCode 4.6.3 ました。FirstViewController に配置されたボタンのクリックでいくつかのメソッドを起動し、メソッドが機能するようにいくつかの変数 / NSMutableArrays(currentQuestionIndex、questions など) を定義しました。これらを初期化するためにカスタム init メソッドを使用したいと考えています。そのままinitWithNibNameinitWithCoderして新しいinitメソッドを作成し、その中に実装を作成すると、呼び出されません。

しかし、以下のスニペットに示すようにコードを操作すると、うまくいきました。

Storyboardここで行ったことはおそらく良い習慣ではないため、を使用してオブジェクトを作成するときにカスタム init メソッドを使用する方法を知りたいです。を使って初期化しようとしたところinitWithCoder、うまくいきませんでした。しかし、私が思い出せる限り、私たちはinitWithCoderから初期化するために使用していますStoryboardよね? のボタン/ラベルはstoryboardFirstViewController にあります。

これは私の FirstViewController.h ファイルです

これは私の FirstViewController.m ファイルです

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

objective-c - initWithCoder が呼び出された後、IBOutlet は nil です

単純な問題です。bigImageViewストーリーボードを使用して UIViewController で呼び出される UIImageView を定義しました。その UIViewController の h ファイルで次のように宣言されています。

appDelegateの場合、次のように UIViewController を初期化します。

これは私の UIViewController m ファイルで initWithCoder を呼び出します:

この関数は一度しか呼び出されないため、二重の初期化はありません。ただし、後でbigImageViewポインターを確認すると、まだ nil です。

初期化はそれにメモリを割り当てることになっていませんか? このUIImageviewをUIImageを保持するように設定しようとすると、画像が表示されないのはそのためだと思いますありがとう

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

ios - initWithCoder: および NSKeyedUnarchiver に関する問題

現在、アプリにゲーム保存機能を追加しようとしています。最終的な目標は、約 300 個のカスタム オブジェクトを.plistファイルに保存し、後で再度抽出することです。ある程度は前進しましたが、いくつか問題がinitWithCoder:あり、自分のテクニックについても確信が持てません。

次のコードはUIViewController、オブジェクトを保存するために使用されています (例として、2 つのオブジェクトのみを辞書に追加しました)。

これにより、クラスencodeWithCoder:内の関数が2 回正常に呼び出されます。Territory

ディレクトリを調べると、確かにファイルが存在します。さて、私が抱えている問題は次のとおりです。次の関数を実行すると、initWithCoder:関数が正常に 2 回呼び出されます。関数内のログinitWithCoder:は本来あるべきものを出力しますが、 の関数内のログはUIViewController、などをloadContents返します。ただし、ラベルのテキストは正しく設定されています。0null

これを何時間も機能させようとしましたが、役に立ちませんでした。誰かがこれについて何か洞察を持っているなら、私を助けてください。また、保存するための私のテクニックが良いかどうかは完全にはわかりません( を使用しNSMutableDictionaryてオブジェクトへの参照を保存し、1つのファイルに出力できるようにします)?ありがとう!

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

ios - スーパーinitWIthCoderは親の型を返しますか?

私は何か基本的なものが欠けていると思います...

NSCodingでクラスと子を実装しましたが、子クラスのNSCodingを呼び出すとエラーが発生します。initWithCoderInvalidArgument

基本的なことを忘れたに違いないのですが、何がわからないのですか... 誰かアイデアがありますか?

ありがとう。

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

ios - UIView が Nib/Storyboard からロードされているか、プログラムで作成されているかを確認します

UIViewがnibファイル/ストーリーボードからロードされているか、ユーザーコードから動的にインスタンス化されているかを識別する方法はありますか? カスタムUIViewサブクラスを作成しているので、インスタンス メソッドに完全にアクセスできます。

良いアイデアと呼ばれるかどうかを確認しますかinitWithCoder:、それとも他の方法もありますか?

なぜそのような機能が必要なのか疑問に思っている人のために: プログラムで作成された場合にのみ、コンテンツに応じて一部のビューをスマートにサイズ変更したいライブラリを開発しています(ユーザーは初期化コードを気にせず、レイアウト制約などを追加しません。単純なクラス メソッドの初期化子があります)。ユーザーが Interface Builder でデザインした場合、彼らは明らかに自分がデザインしたとおりに見たいと思っているので (私は IBDesignable/IBInspectable 属性も使用しているため、IB が頻繁に使用されます)、そのデザインには触れません。