問題タブ [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 に答える
3224 参照

objective-c - NSCoder を使用してカスタム オブジェクトを plist に保存する

そのため、NSCoding を使用してカスタム オブジェクトを plist に保存する必要があることに気付きました。

私が苦労している部分は、メソッドinitWithCoderencodeWithCoderメソッドを実装した後にそれを行う方法です。idそれらはそれぞれとを返すvoidので、オブジェクトが NSData に変換された場合、またはオブジェクトに対して何を行ったとしても、データはどこにあるので、保存できますか?

このようにメソッドを設定しました:

これらのオブジェクト (既に NSMutableArray にある) を .plist に保存し、アプリを再度開くときに呼び出すための次のステップを理解しようとしています。

どんな助けでも大歓迎です!

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

ios - IBを使用してView ControllerのビューからXIBでカスタムUIViewをロードします

Interface Builder を使用して構築されたカスタムUIView( ) があります。このカスタム ビューを、同じく IB を使用して設計されている のビューMyCustomUIViewに配置したいと考えています。の XIB に をサブビューとしてMyViewController配置し、そのクラスを に設定しました。問題は、コードを実行すると空白のビューしか表示されないことです。(コードでインスタンス化すると、うまく表示されます。)UIViewMyViewControllerMyCustomUIViewMyCustomUIView

initWithFrame:で次の方法でメソッドをオーバーライドするだけですMyCustomUIView.m:

ビューを正しくロードするにはどうすればよいですか? どのようinitWithCoder:に見えるべきですか?

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

xcode - messageUI.framework を追加した後、アプリが動作しなくなる

messageUI.framework を追加した後、アプリが動作しなくなる

完全に機能するアプリを作成しましたが、いくつかの新しい機能を追加したいと考えています。を追加しましたがmessageUI.framework、動作しなくなりました。フレームワークを削除すると、再び機能しますが、これは考えではありません。

私が受け取ったエラーは次のとおりです。

-[Account initWithCoder:]: unrecognized selector sent to instance 0x1cd953a0

Account という名前のカスタムがあり、NSObjectそれをロードするときにエラーが発生します。

以前に保存された場合:

重複する変数などによって引き起こされる可能性はありますか?

ノート:

Account.hのようなものです:

そしてAccount.m、次のとおりです。

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

iphone - ストーリーボードを使用するときに完成した TabBar 画像を設定しますか?

UI の大部分が Xcode のストーリーボードを介してセットアップされるアプリケーションに取り組んでいます。私がやりたいことの 1 つは、Interface Builder を介してアクセスできるデフォルトの「Stencilled」画像ではなく、TabBar の UITabBarItems に「Finished」画像を指定することです。

私の質問は、これを行うのに最適な場所はどこかということです。現在、ストーリーボードからアーカイブを解除する必要があるため、awakeFromNib で実行していますが、代わりに initWithCoder: を使用する必要があるかどうかはわかりません。それは問題ですか?

また

initWithCoder:アウトレットとアクションがまだ接続されていないときに、ニブ(ストーリーボードに含まれる)からオブジェクトをアーカイブ解除する開始時に呼び出されることを理解しています。awakeFromNibまた、アーカイブ解除プロセスの最後に が呼び出され、viewController を使用できるようになったことを知らせることも理解しています。awakeFromNibアウトレットとアクションがまだ接続されていない場合に問題が発生しないため、使用しても問題が少なくなる可能性がありますが、それは本当にやりたいことに依存していると私は感じています.

編集:

これを言い換えると、どのような状況をinitWithCoder:対置としてawakeFromNib、またはその逆として使用しますか?

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

xcode - initWithCoder を明示的に呼び出すか、UIView で同等の ViewDidAppear を呼び出しますか?

UIView には、最上位のビュー コントローラーに IBAction とメソッドを含むナビゲーション ボタンがあります。

IBAction コードでは、boolean を反転させて、実行が UIView に戻ったときに、drawRect の前にいくつかの新しいセットアップ、つまりビューの再描画を行うようにしています。

これらすべてが ViewController にある場合は、新しいセットアップ コードを ViewDidAppear などに配置して、ボタンが押されるたびに実行されるようにすることができます。ただし、UIView レベルではそのようなメソッドはありません。initWithCoder がありますが、これは一度だけ実行されるようです (ストーリーボード/nib のロード時)。

だから私の質問は - どちらか、VC レベルで私の IBAction から initiWithCoder メソッドを明示的に呼び出す方法はありますか ([self initWithCoder:nil] を試しましたが、UIView レベルのブレークポイントはトリガーしません)、またはそこにありますか? ViewDidAppear? のように、実行が UIView レベルに戻ったときに実行されるメソッド

ありがとう

ゴールのイメージ: ここに画像の説明を入力

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

uiscrollview - initWithCoderはフレームプロパティに0の値を返します

私はuiscrollviewをサブクラス化し、initWithCoderを使用してすべてのサブビューでuiscrollviewを準備しました。私はそれを設定するために以下のコードを使用しました:

ただし、self.frameプロパティは常に0の値を返すため、これは失敗し続けます。ストーリーボードを使用してスクロールビューのフレームの高さを調整したいので、self.frameプロパティを使用することは非常に重要です。

ストーリーボードを使用する代わりにxibファイルを使用して同じことを試しましたが、正常に機能します。しかし、私のプロジェクトでは、xibファイルを使用したくありません。

ストーリーボードを使用するときにinitWithCoder:メソッドで0の値を取得する理由を誰かが説明してくれると、本当に素晴らしいでしょう。ストーリーボードを使用している場合、これを実現する方法は?

PS:layoutSubviewsメソッドが正しいフレーム情報を返すことに気付きましたが、フレームの変更ごとに呼び出されるため、ここでサブビューを作成できません(スクロールしたとき)

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

objective-c - インスタンス変数がinitWithFrameによって上書きされずにNSViewを保存する方法:?

ココア初心者です。NSView 内のインスタンス変数をエンコードしてファイルに保存しようとしていました。しかし、エンコードするたびに、initWithFrame: が呼び出されたときに (null) に上書きされます。この動作をスキップして、アーカイブされていない NSView にインスタンス変数をロードする方法はありますか? これが私が持っているコードです:

上記のコードでは、最初に塗りつぶす色を緑に設定し、drawRect: メソッドが終了した直後に黄色に変更したため、保存される色は黄色になります。それでも、initWithFrame: ログ コメントで null に戻り、再びグリーン スクリーンが表示されます。見た目から、ビューからデータを分離する唯一の方法のようです。しかし、もっと簡単な方法があれば、誰でも私を助けることができますか?

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

ios - 非標準の Storyboard ビュー コントローラーの初期化 (-initWithCoder ではありません:)

-initWithCoder:Storyboard ビュー コントローラー以外の init メソッドを使用する方法はありますか? 内の VC にプロパティを設定できることは既に知っています-prepareForSegue:

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

ios - initWithCoder で UIImageView フレームを設定する

UICollectionCell のサブクラス内で UIImageView のフレーム サイズを設定しようとしていますが、うまくいきません。ストーリーボードを使用しています。

コードでは、imageView に関する最後の行以外はすべて機能します。コードを drawRect に入れると、問題なく動作します。