タグ

ブックマーク / blog.fenrir-inc.com (4)

  • NSView と UIView

    こんにちは、iOS/Mac アプリ開発担当の宮です。 最近は、Sleipnir Mobile for iPhone と Sleipnir for Mac を開発しています。 Sleipnir for Mac の開発では、UIKit と AppKit の違いに苦戦しています。 出てくるクラス名も接頭辞が違うだけのものが多いので、ほとんど変わらないと思っていたのですが、ふたを開けてみると全くの別物でした。 今回は、その中でベースのビューとなるクラス NSView と UIView の違いについて紹介します。 これから Mac アプリを開発する方は参考にしてみてください。 ■ NSView には見た目に関するプロパティが全然ない NSView のクラスリファレンスを見るとビックリするぐらい UIView にあるプロパティがありません。最初、backgroundColor がないのには驚きました

    NSView と UIView
    adachi_c
    adachi_c 2014/06/11
    つらみ
  • NSString#rangeOfString: と CFStringFind ではデフォルトのオプションが違う

    こんにちは、Sleipnir for Mac 開発担当の宮です。 先ほど、CFStringFind を使うと文字列検索が速いよという記事を書いたのですが、速さの違いはオプションによるもののようです。 Twitter での、開発者さんたちの反応でわかりました。勉強になります! rangeOfString:options: には NSLiteralSearch というオプションが、CFStringFindWithOptions には kCFCompareNonliteral というオプションがあります。 それぞれ逆のことを意味するオプションがあって、デフォルト値が逆になっているわけです。 (rangeOfString:Options:) + (NSLiteralSearch) = (CFStringFind) (rangeOfString:) = (CFStringFindWithOptio

    NSString#rangeOfString: と CFStringFind ではデフォルトのオプションが違う
    adachi_c
    adachi_c 2013/04/16
    CFStringFindは合成文字を考慮されてないため早い"(rangeOfString:Options:) + (NSLiteralSearch) = (CFStringFind)"
  • 【Objective-C】 文字列検索するなら、NSString の rangeOfString: より CFStringFind を使うべき(検証)

    こんにちは、Sleipnir for Mac 開発担当の宮です。 前回「Sleipnir for Mac のパフォーマンスを大幅に改善するためにしたこと」という記事で、rangeOfString: より CFStringFind を使ったほうがいいよと書きました。 今回は、実際にパフォーマンス計測してみてどのくらい違うかを調べてみます。 (追記)なぜパフォーマンスに違いがでてくるか判明したので、別の記事を書きました。 => NSString#rangeOfString: と CFStringFind ではデフォルトのオプションが違う 計測について ・環境: iMac (Mid 2011), 2.7GHz Intel Core i5 ・文字列の最後の5文字を探す ・1万回の検索にかかる時間の10回平均 ・大文字小文字を区別するプションを引数で渡すかどうかで結果が違うのでそれぞれ計測 ・サン

    【Objective-C】 文字列検索するなら、NSString の rangeOfString: より CFStringFind を使うべき(検証)
    adachi_c
    adachi_c 2013/04/15
    このコードで10回平均とか言ってる感覚はヤバイのでは・・・キャッシュとか考慮されてない
  • iOS アプリのバイナリを少しのぞいてみる

    Mac / iOS 開発担当の松です。 皆さんご存知のように iOS アプリを作るのに欠かせない Objective-C は、メソッドの解決が動的なこともあり、C言語のファミリーでありながら強力なリフレクション機能を備えています。そのリフレクションの必要性等から、実行ファイルには様々な情報が埋め込まれていて、何気なくバイナリエディタで開いただけで、テンションが上がるバイナリに仕上がっています。のぞかずにはいられませんね。という訳で今日はこのバイナリを少しのぞいてみたいと思います。 まずはバイナリの概要を抑えておきましょう。iOS 上の実行ファイルは Mach-O という形式で(まーく・おーと読むらしい)、これは WindowsLinux でいうところの EXE や ELF にあたります。この Mach-O のフォーマットについては アップルからドキュメントが提供されていますね。 細

    iOS アプリのバイナリを少しのぞいてみる
  • 1