タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

Objective-Cに関するterazzoのブックマーク (20)

  • NSLogのまとめ公式版

    Home - SQLCipher - Open Source Full Database Encryption for SQLite 紹介文 SQLCipher is an SQLite extension that provides transparent 256-bit...

    NSLogのまとめ公式版
  • Objective-CでAOP (アスペクト指向) ができるライブラリ - Qiita

    Aspects Objective-Cでインターセプター入れて横断的に処理入れてみたいなことってしたいなと思う場面はあったけど、共通処理を行うクラスを使ってそれを継承するみたいなやり方してた。共通の処理ってどんなものがあるかといえば、例えば、ログ出力とか、GAのトラッキングの送信とかですね。 JavaとかだとFrameworkでだいたい用意されててObjective-Cでもあったらなーとは思ってたけど、今回、AOPができるめっちゃいいライブラリを知ったので紹介します。 Aspects このライブラリはEvernoteやDropboxでも使われているPDFのライブラリ PSPDFKit の作者である @steipeteさんが作ったライブラリなので、信頼もおけます。 しかも、ライブラリの中身はAspects.hとAspects.mだけだからすごく軽量です。 使い方は、READMEで十分分かりや

    Objective-CでAOP (アスペクト指向) ができるライブラリ - Qiita
  • Objective-Cのメモリ管理おさらいと解放tips|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    Objective-Cのメモリ管理おさらいと解放tips こんにちは。 iOS/Objective-Cによるアプリ開発では参照カウントによるメモリ管理が必要になります。 今回はiOS/Objective-Cでのメモリ管理の基礎からメモリリークの検知まで解説したいと思います。 参照カウント Objective-Cの全てのオブジェクトはNSObjectを継承しています。 全てのオブジェクトはこのNSObjectのメソッドを通じて参照カウントを扱います。 この参照カウントが、オブジェクトがいくつのオブジェクトから強参照されているかを表し、 0になったオブジェクトは誰からも参照されていないため解放される、という仕組みになっています。 C++に詳しい方はshared_ptrをイメージすると良いでしょう。 より詳細な解説はWikipediaなどが参考になります。 Objective-Cの参照カウント

    Objective-Cのメモリ管理おさらいと解放tips|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • [Objective-C]__attribute__ディレクティブを使ってみる | DevelopersIO

    という文に出くわすことがしばしばあります。 これは属性を表すキーワードで、普段そこまで使う機会がないのですが、調べるうちに何かと多人数の開発の時にはご利益がありそうな機能ばかりだと感じたので、まとめておきます。尚、使用環境はXcode5, ARCです。 何ができる? __attribute__はコンパイラディレクティブの一種で、変数、型、関数(Objective-Cではクラスやメソッドも)の属性を決めることができます。コンパイラによる静的チェックや関数の最適化の役に立ちます。 __attribute__の後にはカッコが二重に続き、二重括弧の中でコンマ区切りの属性リストを付与することができます。 __attribute__は変数、型、関数宣言の前後に置かれます。Objective-Cではメソッドに適用されている場合が多く、この記事でもメソッドの宣言に絞って解説します。 Objectve-Cメ

    [Objective-C]__attribute__ディレクティブを使ってみる | DevelopersIO
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Objective-Cを絶対書きたくない人向けのiOSアプリ開発ソリューションの総括 - laiso

    有償、無償のやつがいろいろあって最近試してみたのでメモ書きを残しておいた*1。 最初にことわると、既に何かしらの言語を身に付けているプログラマー向けの記事になる。プログラミング自体の入門者は学習環境が整っているので絶対Objective-Cから入った方がいいです(個人的にはP*言語系でウェブ開発フルセット身に付けるよりか楽だと思う)。 Objective-Cを避けたい動機 未知のプログラミング言語を習得するコストがツラい Objective-Cは潰しが効かない(iOS & Macアプリ開発でしか使わないじゃん) Android版など。なるべく移植性を高くしたい Xcodeを使ってコーディングするのがいやだ。愛用しているエデイタで開発したい 開発環境が強制される。不自由で邪悪なので使ってはいけない。 とまあ人によっていろいろある 比較表 記事でとりあげたものの簡単な比較表をテーブルにしてお

    Objective-Cを絶対書きたくない人向けのiOSアプリ開発ソリューションの総括 - laiso
  • Cocoaの日々: ObjCがサクっと書けるコーディングTips

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど 最近よく使っている省略記法を紹介する。これらを使うとなんとなく気分がいい。 クラスメソッドの . (ドット)アクセス 実はクラスメソッドも .(ドット)表記が可能になった。 [SomeClass sharedInstance] ↓ SomeClass.sharedInstance当然ながらさらにメソッドも重ねられる。 SomeClass.sharedInstance.localNameXcodeではクラスメソッドの.表記は補完が効かないのが難点。ただしそれ以降のメソッドは補完してくれる。 例えば SomeClass.share... ここまでは補完しないが、SomeClass.sharedInstance.local.. ここまで来ると補完できる。 インスタンス作成 (1)newお馴染

    Cocoaの日々: ObjCがサクっと書けるコーディングTips
  • 【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 を使うべき(検証)
  • モダンなObjective-Cプログラミング

    Summary 新リテラル - NSNumberリテラル,Boxed Expression, NSArrayリテラル,NSDictionaryリテラル, 添字アクセス コンパイラがメモリ管理を肩代わり - ARC (Automatic Retain Count) Cでも無名関数 - Blocks マルチスレッドプログラミングを簡単に - GCD (Grand Central Dispatch) Bundlerライクなライブラリ管理 - CocoaPods はじめに Objective-C のプログラミング環境はどんどん良くなってる コーディングを楽に エンバグの軽減 一方、Web上の記事や書籍のコードは古いまま 古い情報に流されないためにも、新しいコンパイラやツールの機能を確認しておこう NSNumberリテラル void main(int argc, const char *argv[]

  • スタンフォード大がiOSプログラミングの入門コースを無料で提供

    あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

    スタンフォード大がiOSプログラミングの入門コースを無料で提供
  • Objective-Cで最近お気に入りのマクロ4つ | TOKOROM BLOG

    マクロ マクロの利用については賛否両論がありますが、ぼくはわりかし使います。 ** ※2013/1/9 追記 ** 上記のとおり独自のマクロを使うこと自体に賛否両論あります。 例えば独自のマクロを定義して利用することで、 他の人がコードを見たときに分かりづらくなる 思わぬ不具合が出るケースがある 名前の衝突リスクがある(マクロは名前空間が使えない) などのデメリットがあります。 特にチームや会社でのご利用の際にはよくよくご留意をお願いします。 1. [NSString stringWithFormat:] を簡単に NSString* message = [NSString stringWithFormat:@"HELLO %3.1d", 333.333]; [NSString stringWithFormat:]はよく使うのだが長くて面倒…とよく思ってしまう。 ということで、 #defi

    terazzo
    terazzo 2013/01/09
    NSLocalizedStringの第一引数自体が長くなるので、呼び出し全体をマクロに移してNSRunAlertPanelなどを一行に短く書くってのは昔のExamplesでよく見たな。
  • Objective-C の atomicity について調べてみる

    Objective-C のプロパティには、属性として atomic や nonatomic というキーワードが指定できるようになっています。 これらを省略した場合は atomic が指定されたのと同じで、この "atomic" という単語を直訳すると "原子性" とか "不可分" とか、そういった意味合いになります。 このキーワードを知った当初には、次のような意味合いがあると認識していたのですけど、どうやらちょっと思っていたのと違うようです。 atomic は、マルチスレッド環境でスレッドセーフを実現する、らしい。 atomic プロパティを @synthesize で実装すると、setter や getter を @synchronized (self) で括ったのと同じになる、らしい。 それならつまり、単一スレッドでの使用を前提としないクラスを作成するときは、プロパティは atomic

  • Objective-Cの残念な子なところ - soutaroブログ

    __blockがうざすぎる。 NSArray* a = [object foo]; NSArray* b = [a bar]; NSArray* c = [b baz];とかあったりして、ここいらがどうも遅い気がするので時間を計測したいとしよう。まずはこんな感じ。 NSDate* start = [NSDate date]; NSArray* a = [object foo]; NSArray* b = [object bar]; NSArray* c = [object baz]; NSLog(@"%g", -[start timeIntervalSinceNow]);やっぱり遅いようなんだけど、はたしてfoo、bar、bazのどれが遅いんだろうか。 NSDate* start = [NSDate date]; NSArray* a = [object foo]; NSLog(@"%g"

    Objective-Cの残念な子なところ - soutaroブログ
  • Objective-C でサブクラスのインスタンスから任意のスーパークラスのメソッドを呼ぶ - 24/7 twenty-four seven

    サブクラスのインスタンスからポリモーフィズムを無視して任意のスーパークラスのメソッドを呼びます。 ↓ 下のように Shape クラスと Shape クラスを継承した Path クラス、および Path クラス を継承した Circle があります。 それぞれのクラスで draw メソッドをオーバーライドしています。 //////////////////////////////////////////////////////////////////////// #pragma mark - Shape //////////////////////////////////////////////////////////////////////// @interface Shape : NSObject @end @implementation Shape - (void)draw { NSLo

    Objective-C でサブクラスのインスタンスから任意のスーパークラスのメソッドを呼ぶ - 24/7 twenty-four seven
  • User Manual Portable Object Compiler Version 3.3.19

  • UIView拡張カテゴリによるUIコーディングの簡略化 - mixi engineer blog

    はじめまして、佐野です。僕は2006年10月にメンバー4人でネイキッドテクノロジー社を創業し、5年間ガラケーからスマホに渡るまでモバイル関連の技術・サービス開発に携わり、去年の10月にミクシィ社にジョインし、現在はmixiのiPhoneアプリの開発に携わっております。このブログではiOSプログラミングの初級者~中級者向けに、さらなる上達の助けになるようなことを書いていきたいと思います。 Apple 製の iOS/Mac アプリの統合開発環境であるXCodeは、ver4 から GUI ベースの UI 開発ツールである Interface Builder が組み込まれ、非常に快適にUI開発ができるようになりました。mixi の iPhone/iPad アプリも基的には各画面が IB ファイルで構成されています。静的な画面であればこれだけで済むのですが、アニメーションを多用したインタラクティブ

    UIView拡張カテゴリによるUIコーディングの簡略化 - mixi engineer blog
    terazzo
    terazzo 2012/03/28
    メソッド作るんなら-moveCenterBy::とかの方が動作を伝えられて良い気も/逆に-addValue:forKeyPath:みたいなメソッドにして、Core Animation的にプロパティのadditivityを活用する方向もアリか。
  • プロパティに対応するインスタンス変数の命名規則について - Awaresoft

    最近になって変わったObjective-Cのインスタンス変数の命名規則について。 プロパティに対応するインスタンス変数の変数名をプロパティ名と別にすべきか、また、インスタンス変数名をアンダースコア(_)で始めるべきかどうか、さまざまな場所で議論になっているのを見てきて、自分も長い間悩んだ結果、結論が出たのでその経過をまとめておきます。 背景をとばして結論だけ見たい人はこちらへ。 iTunes Uのスタンフォード大学の"CS193p: iPad and iPhone Application Development"の講義は、iPhoneアプリをこれから作ろうという人にはもちろん、既に作っている中級者の方にとっても、見る価値があると思います。 特に、Paul Hegartyによる2011年秋の講義はiOS5に完全に対応していて、説明も非常に分かりやすく、必見です。何と言っても、こんな白髪白髭の

    terazzo
    terazzo 2012/03/19
    あのPaul Hegarty師だしな。ていうか今そんな事してるのか。>結論:Paulを信じて従えば間違いなし
  • new Objctive-C literal syntax

    2012年3月にclangのtrunkに導入された、NSArrayやNSDictionaryなどへの新しい構文・リテラルについて調べてみた。 追加説明の記事 http://d.hatena.ne.jp/kimuraw/20120317/p1 Cocoa勉強会 #51 2012-03-17

    new Objctive-C literal syntax
    terazzo
    terazzo 2012/03/17
    昔のWebScriptの時みたいに@(elem1,elem2,...)と@{key1=value1;key2=value2;...}で良いと思うけどね。plistとの整合性も取れるし。cf: http://developer.apple.com/legacy/mac/library/documentation/LegacyTechnologies/WebObjects/WebObjects_3.1/DevGuide/WebScript/CreatingObjects.html
  • イマドキっ子の Objective-C

    イマドキの流行に敏感なキミだったらもう知ってるかもだけど、今日はそういうのに鈍感なオジサンたちのために、今風の Objective-C について書いちゃうよ。もちろん互換性的な感じで、すぐに変えられないかもってコもいると思うけど、知っててもソンじゃないから、いま覚えとこう!それとこういうのって、けっこー変わっていくものだから、半年後とかにはもう流行後れになるから注意してね! インスタンス変数 Objective-C のインスタンス変数と言えば、ヘッダの @interface に書くというのがこれまでのルールでした。典型的な例として、以下のように書いていました。 @interface MyObject : NSObject { NSString *aString; } ... @end 今風には、インスタンス変数の宣言は実装部の @implementation に書きます。 @impleme

    terazzo
    terazzo 2012/02/29
    ほほう。/外部に公開しないクラスは@interface自体不要なのかな?(@implementation MyObject:NSObjectみたいに実装側で親クラス指定出来るので。)
  • Objective-Cにおけるinstancetype型について - Takebayashi.Asia

    先日Xcode 4.3がリリースされました。Xcode 4.3ではclangのバージョンが3.1となり、instancetypeという型をサポートするようになりました。 返り値のid型の推論 instancetypeの話の前に、id型の返り値について考えます。Cocoaでは、+ allocや- initといったメソッドは軒並みid型の値を返すようになっています。基的に、id型の値はどのようなオブジェクト参照型にも代入できることになっています。 しかし、clangは以下のようなコードに警告を発します。 NSString *myBlog = [[NSURL alloc] initWithString:@"http://takebayashi.asia/"]; + allocも- initWithStringも返り値がid型なので来ならばNSString *型の変数に代入しても文句は言われな

  • 1