サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
akatukisiden.wordpress.com
クラスオブジェクトは +(void)initializeメソッドを使って初期化することができます。 +(void)initializeメソッドは、はじめてクラスメソッドを呼び出すときに、呼び出されます。 NSObjectクラスで定義されている物を各クラスごとにでオーバーライドすることで実装します。 あるクラスで+(void)initializeメソッドが実装されていない場合、 代わりにスーパークラス(基底クラス)のものが呼び出されます。 その場合、スーパークラスのメソッドは(自分自身と、サブクラスの分で)二度呼び出されることになるので、 initializeメソッドは複数回呼び出されても平気なように実装する必要がある。 //宣言 @interface A:NSObject + (void) initialize; @end //定義 @implementation A + (void) i
C++/CLI ラッピング入門4 今回はラップしたアンマネージドクラスの クラス、構造体などの複合型メンバ変数をマネージ側に公開します。 —————————————————————– ・クラス・構造体型メンバ変数の公開 アンマネージドクラスclassAの、classB型(アンマネージ)のメンバ変数BをC++/CLIでマネージド側に公開する場合 内部では、classAと、そのメンバ変数B(classB)のつながりを保ったまま、 外からは、classAのラッパークラス A_Wrapperが classBのラッバークラスB_Wrapper型のメンバ変数Bを持っているようにみえるのが望ましいです。 図1 内部ではclassAとclassBはつながっていて、その結合を保ったまま、ラップする 図2 外からは、A_WrapperがB_Wrapperをメンバに持っているように見えるようにする そこで、B_
C++/CLI ラッピング入門 今回は関数ラッピングについてです。 —————————————————————– 関数のラップは、 マネージドクラスのメンバ関数の中で、 ネイティブ関数を適切な引数を与えて呼び出し、 戻り値を適切にラップして返すという作業になります。 全てのマネージ関数はメンバ関数または、staticメンバ関数である必要があります。 ・引数も戻り値もない関数は普通に呼び出すだけでラップできます。 “ref class”は参照型のマネージドクラス(C#でいうクラス)で有ることを表しています。 “value class”にすると値型マネージクラス(C#で言う構造体)になりますが、 コンストラクタやデストラクタの使用などに制限があるため、アンマネージクラスのラップにはあまり使いません。 //--------------------- // ネイティブ関数宣言 void func(
セレクタ(メソッド名)はソースコード上では、 メッセージキーワードを書き並べたものとして表されますが、 プログラム上では、別の形に変換されています。 @selectorコンパイラ指示子を用いる事で、 内部表現をSEL型のオブジェクトとして取得することでき、 これを用いることで、好きなタイミングでメソッドを実行することができます。 // @selector SEL sel1 = @selector(func) //引数なし SEL sel2 = @selector(func:) //引数1個 SEL sel3 = @selector(func:var2:) //引数2個 SELオブジェクトに格納したメソッドの実行には performSelectorを用いる。 第一引数はSEL第二引数、第三引数はSELオブジェクトの指すメソッドに渡す引数。 //引数なし – (id)performSelect
OpenNIの奥深くに眠っている USBに直接アクセスする関数を用いて、 Kinectの首(チルトモーター)を動かすことに成功したので とりあえずサンプルを載せておきます。 確認した環境 PC: MacBook Pro OS: 64bit Windows7 Ultimate OpenNI: OpeNI Win32 1.4.0.2-dev (unstable build ) //-------------------------------------- #include <XnUSB.h> enum { VID_MICROSOFT = 0x45e, PID_NUI_MOTOR = 0x02b0 }; XN_USB_DEV_HANDLE dev; int main() { int angle = キネクトの首の地面からの角度; const XnUSBConnectionString* pas
基本はただのzip圧縮 PEAR::File_Archiveを使って圧縮する。 epubファイルのフォーマットについてはこの辺りで適当に勉強してください。 「電子書籍ファイルePubについて -ePubを自分で作成する-」 http://naoki.sato.name/lab/archives/45 mimetypeファイルは無圧縮かつファイルの先頭になければならないので、 mimetypeのみの無圧縮zipファイルを作ってから、 それに他のファイルを圧縮したものを追加する。 $work_dir ='作業フォルダパス' //PEAR::File_Archiveがファイル名で圧縮形式を決めているので, // .zipファイルをつくってから.epubに変更する $zip_name ='zipファイル名.zip'; $epub_name ='epubファイル名.epub'; $file_arch
このページを最初にブックマークしてみませんか?
『akatukisiden's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く