Objective-Cのリテラル強化きた。 NSArray *array = [NSArray arrayWithObjects: @0, @23, @3.1415, @YES, nil]; int値、float値や BOOL値 に @ を付けると NSNumberに変更され...
Objective-Cのリテラル強化きた。 NSArray *array = [NSArray arrayWithObjects: @0, @23, @3.1415, @YES, nil]; int値、float値や BOOL値 に @ を付けると NSNumberに変更され...
NSCacheというキャッシュモジュールについて第43回Cocoa関西で発表してきました。 NSCacheの特徴 スレッドセーフ NSDictionaryのように手動でロックする必要がない 格納オブジェクトの上限を決められる 溢れたら自動破棄 iOSのようなメモリ制約の厳しい環境に最適 NSDictionaryに似たインターフェイス Mac OS 10.6 / iOS 4.0以上で使える 具体例としては、ダウンロードした画像をオンメモリにキャッシュする際等にとても有用だと思います。同じような機能を提供してくれるOSSのモジュールは見たことがあるのですが(例えばnimbusに含まれているNIMemoryCache)こちらはOS組み込みなので手軽に使えます。 発表資料 サンプルコード Twitter及びInstagramの画像をロードしてデモするサンプルコードは以下です。それぞれの機能を動かす
はじめに iOS SDK登場から早4年近くが経ち、使い回しの効くUIコンポーネントや、煩雑な手順を楽にするスクリプト、自作するには難易度の高い技術をライブラリ化したものなどなど、今では多くの便利なオープンソースソフトウェアが公開されています。 本連載ではそんなオープンソースソフトウェアの中で、有用かつあまり日本語での情報が少ないものを中心にご紹介していく予定です。具体的な使用方法や、ソースの内容にも踏み込んで解説していきますので、ぜひ皆様の日々の開発にお役に立ていただければ幸いです。 トゥイーンライブラリを使用するメリット UIViewのアニメーションで指定できるイージングの種類は、 UIViewAnimationOptionCurveEaseInOut UIViewAnimationOptionCurveEaseIn UIViewAnimationOptionCurveEaseOut U
iOS で HTTP 通信をするときはいつも ASIHTTPRequest を使っていました。 しかし残念なことに最近 ASIHTTPRequest の開発が終了してしまい Automatic Reference Counting(ARC) に対応する予定もないようなので自分で ARC に対応した HTTP 通信のライブラリを作成しました。 コードは github で公開しています。ライセンスはBSDライセンスです。 R9HTTPRequest 中身はただの NSURLConnection のラッパーです。コード量も少なく軽いライブラリです。 主な機能は以下の通りです。 HTTP GET POST PUT DELETE など HTTP の非同期通信 ※現在非同期通信のみサポートしています。 マルチパート POST(画像送信など) 自動リダイレクトのオン/オフ WSSE 認証のサポート R9
+[NSURLConnection sendAsynchronousRequest:queue:completionHandler:] が何をしているか調べてみた TL; DR: +[NSURLConnection sendAsynchronousRequest:queue:completionHandler:] は dispatch_async で +[NSURLConnection sendSynchronousRequest:returningResponse:error:] を呼んでいる。 NSURLConnection を非同期に使いたいなんて要望はもうそれこそかなり昔からあって、数多の車輪の再発明とブログと FAQ が生まれたわけですが、一昨年の Grand Central Dispatch1、GCD の登場でついに抜本的な解決が見えるかのように見えてわひょーいってなった割には
Objective-Cのリテラル強化きた。 NSArray *array = [NSArray arrayWithObjects: @0, @23, @3.1415, @YES, nil]; int値、float値や BOOL値 に @ を付けると NSNumberに変更され...
NSNotification, NSNotificationCenter を用いたオブジェクト間連携は使いやすいのでついつい多用してしまうのですが、具体的に内部でどのような処理が行われていて、パフォーマンス面での影響はどのくらいなんだろう、ということをイメージできずにいたので、調べてみました。 で、下記のような超わかりやすいAppleの日本語ドキュメントを発見しました。 Cocoa Fundamentals Guide: 通知 その中でパフォーマンス面について勉強になった箇所を抜粋します。 通知センターは、オブザーバに対して通知を同期的に配信します。通知の送信すべてが完了するまで、送信側のオブジェクトには制御は戻りません。 通知メカニズムは、オブジェクト状態の変化を監視するための、Cocoaの唯一の選択肢ではなく、実際に多くの状況において、望ましい選択肢とはいえません。Cocoaのバインデ
他アプリと連携 iOSアプリを作っていて、「他のアプリからドキュメント(データファイルや画像ファイル)を取り込めるようにしたい」と思って調べた内容のまとめです。 「自分のアプリ内のドキュメントを他のアプリで開く」というのは UIDocumentInteractionController あたりをキーワードに検索してみるといろいろ出てくると思います。 この辺りの、iOSでファイルを共有する概要や実装手順については、下記ページが分かりやすいです。 iPad SDK 3.2 Document Support ‹ ObjectGraph Blog 今回やりたかったのは、↑このページの、項目3. Accepting Incoming Documents (Document Reader)というのがそれで、「他のアプリからドキュメントを取り込む」仕組みです。 取り込みの概要 ファイル取り込みの仕組みは
こんにちは、中川です。 最近はちょっとPHPから離れてMonacaを使ったiOSアプリの開発を行なっています。 Monacaでは基本的にHTML+CSS+JSでの開発となりますが、 今回開発中のものはObjective-Cを使ったネイティブの画面をカスタムで組み込んで利用したりしています。 HTML+CSSであれば画面を作るのは慣れていることもあり比較的簡単なのですが、 UIKitでのネイティブ画面となると微妙なズレの調整などで苦労する場面が多々ありました。 そんな時に役立ったTIPSなどをご紹介したいと思います。 ■位置やサイズのログ出力 CGRect, CGSize, CGPoint など、NSStringFromXXXXXで簡単にログ出力することができます。 NSLog(@"frame: %@", NSStringFromCGRect(self.view.frame)); NSLog
年末のお忙しいところ失礼いたします。トーストを床に落とすと必ずマーマレードを塗った方が下になる、iPhoneアプリ開発担当の七尾です。いつも仕事でObjective-Cばかり書いておりますが、そういえばMac用のアプリもObjective-Cで書けるんだっけ?じゃ、おれでも書ける?という、いつも通り頭の中がお花畑な発想で、ただでさえこの忙しい時期に初Cocoaアプリを作ってみたので、お知らせしたく記事を書いております。 punchdrunker/Opener – GitHub 何を作ろうかな? 幸いにも(?) 以前からずっと困っていた事があったので、その問題を解決するツールを作ることにしました。 その問題がどのくらいの人に関係するのかはハッキリ申し上げて、あんまいないだろうなと正直思うのですが(笑)、それはファイルサーバ上のファイルパスの共有です。 自分はMacをメインの作業端末にしている
iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど UINavigationItem の API に iOS5 から rightBarButtonItems があることに気がついた。複数形ということは...? 早速試してみた。こうすると。 UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(touched:)]; UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera tar
iOS のXML 取得、解析処理には基本的ないくつかの処理があります。 XML の処理方式として、 SAX イベント駆動で行うXML解析 DOM インターフェース指向で、木構造として扱う方式 があり、iOSでは、 NSXML(標準, SAX, Objective-C) Libxml(標準, SAX, C言語) TouchXML, KissXML (外部ライブラリ、DOM) など、あるのですが、イベントを自分で記述したり、解析のためにオブジェクトをたどったりと、結構めんどうです。それを簡単にする方法があったのでご紹介します。 XMLは面倒なのですが、それに比べて、JSON は、一行で、 [cc lang=”ObjC”] NSDictionary *dic = [NSJSONSerialization JSONObjectWithData: data options: nil error:ni
編集部注:こちらの記事は諸事情によりURLを http://www.atmarkit.co.jp/fsmart/index/matome/smapho.html に移動しました。ブックマークなどは移動先URLでお願いします(2012年1月6日) 夏休みの自由研究にマイコンボードで「電子サイコロ」を作ったり、音楽プログラミングをしたりしてみよう (2017/7/24) 子ども向け電子工作&プログラミング用マイコンボード「chibi:bit」の基本的な使い方を紹介する企画。夏休みの自由研究に「電子サイコロ」を作ったり、音楽プログラミングをしたりしてみよう 子ども向け電子工作&プログラミング用マイコンボード「chibi:bit」の基本的な使い方 (2017/7/20) 子ども向け電子工作&プログラミング用マイコンボード「chibi:bit」の基本的な使い方を紹介する。夏休みの子どもの自由研究など
iOS5での大きな変化、特徴の一つにTwitter機能があります。まさかOSに統合されるとは!というサプライズでした。 そのおかげで、以前は何かと面倒だったTwitter投稿機能が超簡単に実装出来るようになりました。 てことで、今回はiOSのTwitter機能を使ってみるアプリの開発チュートリアルのメモです。 今回の概要 今回の概要は以下。iOSのTwitter機能でツイートするアプリ プロジェクトの作成 まずはプロジェクトを作成します。本内容では「Single View Application」を選んでます。 UIの作成 まず、Twitter.frameworkを追加します。プロジェクトのTARGETSの「Build Phases」の「Link Binary with Libraries」からTwitter.frameworkを追加してください。 「ViewController.h」でT
iOS Advent Calendar 2011という今年を締めくくる売名イベントが突如発足したので我こそはとエントリーしたわけなんだが。http://atnd.org/events/22792 俺は入門書をいくつ読んでもアプリをいつまでたっても完成させることのできないお前らの為にわざわざ書き下ろす事にした。精力的に入門記事を書いているもとまかさん(@motomaka)ですら書いていない内容をな! 今更ですがiOSアプリ開発の基礎について色々調べてみましたhttp://d.hatena.ne.jp/moto_maka/20110425/1303673150 12月3日までの記事は以下の通り。 12月1日 @glassonion1 失敗しない iOS In-App Purchase プログラミング12月2日 @k_katsumi CAEmitterLayer でクリスマスは爆発しろ12月3日
以下の記事を読んで。 iOSゆとりプログラミングのススメ - 仕事人の開発日誌 精力的に入門記事を書いているもとまかさん(@motomaka)ですら書いていない内容をな! ありがとうございます。素晴らしいですね!おかげで今日予定してたメモを延期して(せざるを得ない)、感想的なメモとチュートリアルの意味を改めて書いてみることに。 相変わらず手厳しい。けどそこには愛がある しかし、相変わらずの文体です。まず最初にお前らが書くコードは稚拙で幼稚な上に満足にひとり歩きできない幼子だと思った方がいい。 でも、そこには確実に愛がある。たとえ最初は稚拙で幼稚なコードでも時間をかけて愛でた分だけどこまでも逞しく育つ可能性がそこにはあることも忘れるなよ。 これほど(経験的に)若いプログラマのことを気にかけて、厳しいことをガンガン言ってくれる人を、私は他には知らない。プログラミングへの信念がない人では到底出来
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く