定食屋おろポン

おろしポン酢と青ネギはかけ放題です

objc

viewWillLoad/viewDidLoad on NSViewController

UIKitのUIViewControllerには - (void)viewWillLoad; - (void)viewDidLoad; が定義されています。UIViewControllerのサブクラスにおいて、これらのメソッドは頻繁にオーバーライドされます。 しかし、AppKitのNSViewControllerには存在しません。UIKitに慣れ…

Objective-Cのボトルネック検出

パフォーマンスの改善には、ボトルネックの検出が欠かせません。 どの処理に時間がかかっているのか判別するため、処理の経過時間を記録します。stackoverflow*1では以下のような方法が提案されています。 NSDate *start = [NSDate date]; // do stuff... NS…

悩ましきコード整形

論理演算子のコード整形ってなんだか悩ましいですね。 まずは例を。UIViewのautoresizingMaskを設定するコード。いくつかの設定値の論理和を取ります。 view.autoresizingMask = ( UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMar…

RecursiveDescriptionについて

UIKitのUIViewクラスには、ビューのヒエラルキーを再帰的にダンプする -(NSString*)recursiveDescription というプライベートAPIが用意されています。 しかし、どうもこれはAppKitのNSViewクラスには定義されていないようです。 ないので書きました。UIView…

REKitを使ってみた

REKit自体の紹介は開発者に譲ります。これはもっと広まると思う。 https://github.com/zuccoi/REKit (ProjectのGitHubページ) https://github.com/zuccoi/REKit/blob/master/README_ja.md (日本語README) http://runlooprun.wordpress.com/2013/02/12/rekit-…

「ベジェ曲線とはなんぞや」を説明するアプリケーション

なめらかな曲線を描くならベジェ曲線。 プログラマ、マークアップエンジニア、デザイナetc.. IT土方でベジェ曲線に縁がない職の方が少ないんではないかってくらい身近な存在ベジェ曲線。ベジェ曲線についてプレゼンする必要に迫られて、ざっくりとMacアプリ…

あまりにも美しいコードを書いてしまった

#import <Foundation/Foundation.h> @interface _ : NSObject typedef _* (^__)(); typedef __ (^___)(); typedef ___ (^____)(); typedef ____ (^_____)(); typedef _____ (^______)(); @property (readonly) _* _; @property (readonly) __ __; @property (readonly) ___ ___; @prop</foundation/foundation.h>…

NSRailsが面白いことをしていた

サーバサイドとiPhoneアプリの連携をしたくて、Ruby on Railsの勉強中です。優れたFWの勉強が楽しいのは、CocoaもRailsも一緒ですね。Railsでサーバサイドがある程度作れるようになると、iPhone側と連携したくなります。自前でNSURLConnectionをこねくり回す…

まあ3行ならコピペするけどね。

とある業者からのメール 「下記日程のいずれかにて、ヒアリングいただけますでしょうか。 6月5日(火) 14:00以降 6月6日(火) 14:00以降 6月7日(火) 14:00以降」 皆様,これがコードクローンとその弊害です.2012-05-31 18:13:24 v…

NaNをcontainsなCGRectをViewのframeにSetしたらDied

僕がiOS開発を初めてから、今までに一番多く書いたコードは NSLog(@"hoge.frame:%@", NSStringFromCGRect(hoge.frame)); のような気がします。 今日もCGRect周りでハマりました。表示されるべきViewが表示されない。不注意な僕にはよくあることです。 調査の…

dispatch_global_queueの様子を見てみたら

dispatch_global_queueに適当にブロック突っ込んでブレークポイントを仕掛けてみました。 こんな挙動するんですね。初めて見ました。 当然ですがDISPATCH_QUEUE_SERIALで作ったキューにブロック突っ込んでブレークポイントを仕掛けたら、ちゃんと順番にブレ…

UITextView内のリンクをタップした時にUIActionSheetを出す

リンクやメールアドレス、住所などが含まれているUITextView内のリンクを有効にする InterfaceBuilderで設定。Detectionの中から必要なものにチェックを入れる コードで設定。dataDetectorTypesに必要なUIDataDetectorTypesを突っ込んでおけばOK このどちら…

一日でアプリ作ったったぜ

とりあえず出来上がった部分だけ。 概要 基本的には >アプリ名は「永遠の17歳」、内容は、まあアレです。誕生日を入れると17歳と○○ヶ月って表示してくれるアプリです。 このとおりです。あと、○○歳の部分も選択できるようにしました。 希望年齢と誕生日…

一日でアプリ作ったろうぜ

今日一日でアプリを一本完成させたろう。そう思ったのですが、気づいたらこんな時間です。(17時過ぎ) 名前と内容は決まりました。アプリ名は「永遠の17歳」、内容は、まあアレです。誕生日を入れると17歳と○○ヶ月って表示してくれるアプリです。 時間も…

そういえば誕生日

もう数日前だけど。何歳になったのか計算してみました。 Cocoa - (id)init { self = [super init]; if (self) { NSLog(@"%d", self.age); // => 25 } } - (int)age { NSCalendar* cal; NSDate* currentDate; NSDateComponents* birthdayComponents; NSDateCo…

CoreGraphicsでハマる

基礎固め 実践! iPhoneアプリ開発 (4) カメラアプリの作り方 (4) - 写真にエフェクトをかける | マイナビニュース こちらの連載を見ながらiPhone開発のお勉強をしている時のお話です。4ページ目で早くも詰まった/(^o^)\ ハマったポイント imagePickerで取…

UIScrollViewについて頭をスッキリさせてみよう。-contentSize編-

UIScrollViewのcontentSizeが理解できずに夜中までXcodeをいじっていた。 なにが分からないのか。 大きな画像をScrollViewにaddSubviewしてスクロールさせるやりかたは分かる。 ピンチで画像を拡大できるようにするやり方もわかる。 しかし、サブビューに入…

iPhoneアプリを作ってみた。-逆ポーランド記法電卓編-

概要 wikipedia:逆ポーランド記法 練習として逆ポーランド記法を計算してくれる電卓を作った。 オペランドや演算子は全てスペース区切りで入力しないとダメ Clearボタンなどはなし。BackSpaceで計算結果消してください 小数点は自動でfloorされる素敵仕様 と…

iPhoneSDKがやってきた

ようやくiMacが我が家に来ました。可愛い子です。 まだまだMacの操作には慣れませんが、iTunesの移動やら各種環境設定、アプリのインストール等が一段落ついたので、これから本腰入れてiOSアプリ開発を勉強していきます。 まずは 正直、わからないことだらけ…

hello, hatena

NSLog(@"hello, world");