問題タブ [convenience-methods]
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.
haskell - Haskell Persistent でモデルの検証を実行する便利な方法はありますか?
update/replace
各またはinsert
検証が失敗したときにメッセージを返す前にカスタム検証(ある種のフック)を実行する方法はありますか? でできるのと同じようにActiveModel
。
検証関数を書くこともできますが、このモデルを更新または挿入したすべての場所を書き直す必要があります。
c++ - MinGW を使用した C++ の DLL 管理?
私は最近、Windows 7 で MinGW を使用して、C++ で 2D グラフィックスを調べることにしました。
私は 2D グラフィックスだけを必要としていたので、どのライブラリも多かれ少なかれ実行可能です (OpenGL、SDL など..)。いくつかを簡単に見て、MinGW を使用して Windows で作業するのがどれほど簡単かを確認することにしました。
テストしたすべてのライブラリ (Cairo、SDL、および GTK+) が動作するために大量の dll ファイルが必要であることにすぐに気付きました。チュートリアルのようなものから単純なプログラムをコンパイルした後でも、5 つまたは 6 つの異なる dll エラーが発生し、プログラムを実行するためにそれらすべてをプログラムの作業ディレクトリにコピーする必要がありました。
もちろん、私のプログラムは機能しましたが、単純なプログラムのためだけにこれほど多くの DLL を使用するのは非常に面倒です。プログラムを他の誰かのコンピューターで実行するには、これらすべての DLL を別のファイルとして一緒に出荷する必要があります。
必要なすべての DLL のために、C++ と同じくらい人気のあるものを使用するのがとても面倒になるのは、とても奇妙に思えます... 私は何か間違ったことをしていますか? この問題に対する魔法のような解決策はありますか? これらの複雑さを最小限に抑えるか、完全に排除するツールはありますか? アプリケーションで使用する DLL の数が少なくて済むのは素晴らしいことです。もちろん、DLL を完全に省略することはできませんが、少なくとも 1 つのライブラリ (1 つのライブラリ = 1 つの DLL) に量を減らすか、独自のサブフォルダーにそれらを整理する可能性があれば、素晴らしいことです。
objective-c - Objective-C の init メソッドからの戻り値の型
Objective-C クラスを記述するときは、次の便利なメソッド構造を使用します。
MyClass*
便利なメソッドが代わりに戻り値の型を指定する必要がある理由はありますid
か? または、init
メソッドは戻り値の型を指定する必要がありますか?
これは、Objective-C コードの一般的なパターンのようです。今まで深く考えたことはありませんでした。
ios - カスタムイニシャライザで迅速にnilを返す方法は?
Swift でカスタム初期化子を作成しようとしています。私はこのようなものを持っています:
「return nil」行で、「指定された引数を受け入れる '__conversion' のオーバーロードが見つかりませんでした」というエラーが表示されます。
したがって、私が達成しようとしているのは、呼び出し元が有効なデータソースを提供しない場合、この便利な初期化子が nil を返すようにすることだけです。
ここで何が間違っていますか?
ありがとう
ios - @implementation の利点 便利なメソッド
Apple から提供されたサンプル コードを調べていたところ、まだ知られていない興味深いことに出くわしました。ファイル内のサブクラスには、.m
で宣言された複数のセクションがあります@implementation
。最後のものは@implementation
私が期待する通常のものです - すべてのコードが入るクラスの実装ですが、その上には、それぞれが単一のメソッドを定義するいくつかの短い実装があります。これらは次の形式で宣言されます: @implementation ClassName (Convenience)
. 内で定義されたメソッドは、他のメソッドと同じ形式ですが、接頭辞aapl_
. もちろん、それぞれの@implementation
定義の後に続きます。@end,
これらのメソッドをClassName
呼び出す方法は、 のインスタンスを作成してから、標準 API の場合と同様にメソッドを呼び出すことです。[anInstance aapl_thisInterestingMethod:aParameter];
したがって、これは、カテゴリを作成せずにクラスにメソッドを追加する方法のようです。クラスのインスタンスで呼び出します。これは、このファイルにのみ固有です。を使用self
して呼び出し引数を参照できます。
私の質問は次のとおりです。
- それ以上のことはありますか?
- 末尾に (便利) が付くのはなぜですか?
- プレフィックスは、
aapl_
これが標準 API の一部ではなく、独自のメソッドであることを示すためだけに追加されたものですか? - 呼び出し側の引数を通常の引数として受け入れる通常の方法でメソッドを定義するよりも、なぜこれが優れているのでしょうか? 例えば:
[self anInterestingMethod:myInstance withParameter:aParameter];
- これらのタイプのメソッド/実装は何と呼ばれ、それらについて他に何を知っておく必要がありますか?
編集:この質問は、これが重複としてマークされている質問とはまったく関係ありません... @interface is not @implementation
objective-c - コンビニエンス クラス メソッドと alloc init
オブジェクトを手動で割り当てて初期化すると、オブジェクトのパフォーマンスがより効果的になる可能性があることは理解しています (ARC がこの大部分を処理する必要がありましたよね?)。オブジェクトを作成するたびにクラスメソッド?
例:
対
swift - Swiftで便利な初期化子を使用してオプションではない変数を設定する方法は?
モデルがない場合は機能しない UITableViewController サブクラスがあります。モデルがない場合、ビューを表示する目的はありません。
だから私は考えています、私のモデルプロパティはオプションの値であってはなりません。こういう安心感が欲しい。だから私は自分のモデルを渡す便利な初期化を作成しようとしています。
私の問題は、次のエラーが発生することです。
意味あり。init() が呼び出された場合、オプションではないプロパティによって要求されるため、プロパティは設定されません。
私はこれを克服しますか?
そのモデルは私の実際のモデルであることを覚えておいてください。ここでデフォルト値を設定しても意味がありません。また、探している安全性を無効にします。
ありがとうございました!
小さな注意:これを行うと、うまくいきません。とにかくモデルを設定するインスタンスはありません。
編集:以下のアプローチは有望に思えた
ただし、次のエラーが表示されます。
そして最後に、ここでの解決策は次のように呼び出すことでした: