タグ

2013年7月16日のブックマーク (4件)

  • オーバーライド

    メソッドの上書き クラスの継承で特筆すべきなのは、単純な機能の継承ではありません。 クラスの継承は抽象的な機能を具体的な処理に移行する、機能の上書きにあると考えられます。 この、機能の上書きとは、スーパークラスのメソッドを隠蔽し、サブクラスのメソッドを優先低に呼び出させる、メソッドの上書きによって実現します。 これを、一般にはオーバーライドと呼びます。 メソッドのオーバーライドは、スーパークラスのメソッドと同じ名前、同じ戻り値型、同じ引数のメソッドをサブクラスで定義することで実現します。 一般には、このようなメソッド名とメソッドの戻り値や引数型全体をシグネチャと呼びます。 メソッドのオーバーライドは、シグネチャが同じメソッドをサブクラスで定義することで実現するのです。 #import <stdio.h> #import <objc/Object.h> @interface SuperCla

    knmsyk
    knmsyk 2013/07/16
    メソッドのオーバーライドは、スーパークラスのメソッドと同じ名前、同じ戻り値型、同じ引数のメソッドをサブクラスで定義することで実現します。
  • メソッドのポインタ Objective-C入門 WisdomSoft

    メソッドを関数として呼び出す 実は、Objective-C のメソッドの実態は C 言語の関数と同じです。 普段は隠蔽されていますが、メソッドとは最初の引数に自分のクラスを参照するオブジェクトを受け取る関数なのです。 メソッドの実体が関数であるという事実は、C 言語との親和性が極めて高いことを意味してます。 ピュアな C 言語で記述されたライブラリから Objective-C のメソッドを呼び出したり、オブジェクトを利用することも無理な話ではないのです。 Objective-C のメソッドは、常に IMP 型であると定義されます。 IMP 型は、ヘッダファイルで次のように定義されています。 typedef id (*IMP)(id, SEL, ...); この定義からも分かるように、Objective-C で宣言されたすべてのメソッドは、暗黙的に id 型と SEL 型の引数を持ちます。

    knmsyk
    knmsyk 2013/07/16
    Objective-C で宣言されたすべてのメソッドは、暗黙的に id 型と SEL 型の引数を持ちます。 第一引数は、メソッドを呼び出したオブジェクトを表す変数 self です。 第二引数は、このメソッドのセレクタを表す変数 _cmd です。
  • オーバヘッド - 意味・説明・解説 : ASCII.jpデジタル用語辞典

    おーばへっど 【オーバヘッド】 overhead コンピューターで、目的の処理以外のところでかかる時間。プログラム自体の問題や、ディスクアクセスにかかる時間などが原因で発生する。

    knmsyk
    knmsyk 2013/07/16
    コンピューターで、目的の処理以外のところでかかる時間。プログラム自体の問題や、ディスクアクセスにかかる時間などが原因で発生する。
  • 【Objective-C】iOS 6.0で注意しておきたい日本語キーボードの不具合と変更点 - しすぜろ

    iOS 6.0特有のもので、次期アップデートで改善されることも予想されますが、アプリへの影響が出る可能性もあるので、その内容を共有したいと思います。 1. キーボード上部に日語の変換候補が出るとエラー大量発生 iPhoneでは、iOS 5.0 でキーボード一体型になった変換候補欄。iOS 6.0からは、始めから出ているのではなく、キーボード入力後に初めて出る形になりました。 この候補欄に不具合があるのか、変換候補が上部に出た瞬間に大量のエラーが出力されます。アプリへの直接的な影響は今のところわかりませんが、あまり気持ちの良いものではなく、今のところこちらで出来る対応策も確認できていません。 CGContext周りのエラーが大量発生 <Error>: CGContextSaveGState: invalid context 0x0 <Error>: CGContextDrawLinearG

    【Objective-C】iOS 6.0で注意しておきたい日本語キーボードの不具合と変更点 - しすぜろ
    knmsyk
    knmsyk 2013/07/16
    CGContext周りのエラーが大量発生 <Error>: CGContextSaveGState: invalid context 0x0