問題タブ [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.
ios - ストーリーボードを使用する場合、objective-c でカスタム init メソッドをどのように実装しますか?
ストーリーボードを使用していくつかのボタンとラベルを作成しXCode 4.6.3
ました。FirstViewController に配置されたボタンのクリックでいくつかのメソッドを起動し、メソッドが機能するようにいくつかの変数 / NSMutableArrays
(currentQuestionIndex、questions など) を定義しました。これらを初期化するためにカスタム init メソッドを使用したいと考えています。そのままinitWithNibName
にinitWithCoder
して新しいinitメソッドを作成し、その中に実装を作成すると、呼び出されません。
しかし、以下のスニペットに示すようにコードを操作すると、うまくいきました。
Storyboard
ここで行ったことはおそらく良い習慣ではないため、を使用してオブジェクトを作成するときにカスタム init メソッドを使用する方法を知りたいです。を使って初期化しようとしたところinitWithCoder
、うまくいきませんでした。しかし、私が思い出せる限り、私たちはinitWithCoder
から初期化するために使用していますStoryboard
よね? のボタン/ラベルはstoryboard
FirstViewController にあります。
これは私の FirstViewController.h ファイルです
と
これは私の FirstViewController.m ファイルです
objective-c - initWithCoder が呼び出された後、IBOutlet は nil です
単純な問題です。bigImageView
ストーリーボードを使用して UIViewController で呼び出される UIImageView を定義しました。その UIViewController の h ファイルで次のように宣言されています。
私appDelegate
の場合、次のように UIViewController を初期化します。
これは私の UIViewController m ファイルで initWithCoder を呼び出します:
この関数は一度しか呼び出されないため、二重の初期化はありません。ただし、後でbigImageView
ポインターを確認すると、まだ nil です。
初期化はそれにメモリを割り当てることになっていませんか? このUIImageviewをUIImageを保持するように設定しようとすると、画像が表示されないのはそのためだと思いますありがとう
ios - initWithCoder: および NSKeyedUnarchiver に関する問題
現在、アプリにゲーム保存機能を追加しようとしています。最終的な目標は、約 300 個のカスタム オブジェクトを.plist
ファイルに保存し、後で再度抽出することです。ある程度は前進しましたが、いくつか問題がinitWithCoder:
あり、自分のテクニックについても確信が持てません。
次のコードはUIViewController
、オブジェクトを保存するために使用されています (例として、2 つのオブジェクトのみを辞書に追加しました)。
これにより、クラスencodeWithCoder:
内の関数が2 回正常に呼び出されます。Territory
ディレクトリを調べると、確かにファイルが存在します。さて、私が抱えている問題は次のとおりです。次の関数を実行すると、initWithCoder:
関数が正常に 2 回呼び出されます。関数内のログinitWithCoder:
は本来あるべきものを出力しますが、 の関数内のログはUIViewController
、などをloadContents
返します。ただし、ラベルのテキストは正しく設定されています。0
null
これを何時間も機能させようとしましたが、役に立ちませんでした。誰かがこれについて何か洞察を持っているなら、私を助けてください。また、保存するための私のテクニックが良いかどうかは完全にはわかりません( を使用しNSMutableDictionary
てオブジェクトへの参照を保存し、1つのファイルに出力できるようにします)?ありがとう!
ios - スーパーinitWIthCoderは親の型を返しますか?
私は何か基本的なものが欠けていると思います...
NSCoding
でクラスと子を実装しましたが、子クラスのNSCoding
を呼び出すとエラーが発生します。initWithCoder
InvalidArgument
基本的なことを忘れたに違いないのですが、何がわからないのですか... 誰かアイデアがありますか?
ありがとう。
ios - UIView が Nib/Storyboard からロードされているか、プログラムで作成されているかを確認します
UIView
がnibファイル/ストーリーボードからロードされているか、ユーザーコードから動的にインスタンス化されているかを識別する方法はありますか? カスタムUIView
サブクラスを作成しているので、インスタンス メソッドに完全にアクセスできます。
良いアイデアと呼ばれるかどうかを確認しますかinitWithCoder:
、それとも他の方法もありますか?
なぜそのような機能が必要なのか疑問に思っている人のために: プログラムで作成された場合にのみ、コンテンツに応じて一部のビューをスマートにサイズ変更したいライブラリを開発しています(ユーザーは初期化コードを気にせず、レイアウト制約などを追加しません。単純なクラス メソッドの初期化子があります)。ユーザーが Interface Builder でデザインした場合、彼らは明らかに自分がデザインしたとおりに見たいと思っているので (私は IBDesignable/IBInspectable 属性も使用しているため、IB が頻繁に使用されます)、そのデザインには触れません。