毎週月・火に非常勤講師で通っとる学校に傘を忘れた!
ビミョーな距離感(2駅)なんで、来週回収したらいいか…と思ったのが間違いでした。その日の夜から雨です。めちゃめちゃ梅雨です。
メガネっ子は雨に濡れるの苦手なんですよ。前が見えへんくなるから!だからずっと折りたたみ傘を持ち歩いとった生活から一転、これは不便。据え置き型の傘に不慣れなのもあるんだけどさ…
探すと見つからないコンビニ。追うと実らない恋。まあそんなもんです。
それは置いといて。
配列NSArrayにはNSStringとかNSNumberとかUIViewとか種類を気にせずいろいろ突っ込めて便利なんだけど、はて、CGRectとかCGSizeとかの…CoreGraphics由来の構造体は扱えんの?と思ったのが事の発端。
ちょっと前の記事でNSDataでラップする方法を書いたけど、もっと手軽で簡潔な手法をみつけたのでご紹介。
それは『NSValue』を使います。
「ヘルプ見たけど、そんな感じの事書いてなくね?」と思った人。それ正解。
でも、もすこしヘルプを探すと「NSValue UIKit Additions Reference」ってのが見つかるんです。フツーは気づかないよね!なんとそこに、CoreGraphics由来の構造体を扱う拡張が書かれとるという。
使い方はこんな感じ。
超楽!CGPoint、CGRect、CGSize、CGAffineTransFormあたりが使えナス。これでいちいちNSDataでラップする事無く、CGRectやCGSizeをNSArrayに突っ込む事ができるよーになりました。
こちらやこちら(英文)でさらに詳しい説明があるんで、NSDataでの方法にうんざりしとったひとは読んでみてちょ。
んで、さいきん作ったiPhoneアプリはこんな感じです。
ビミョーな距離感(2駅)なんで、来週回収したらいいか…と思ったのが間違いでした。その日の夜から雨です。めちゃめちゃ梅雨です。
メガネっ子は雨に濡れるの苦手なんですよ。前が見えへんくなるから!だからずっと折りたたみ傘を持ち歩いとった生活から一転、これは不便。据え置き型の傘に不慣れなのもあるんだけどさ…
探すと見つからないコンビニ。追うと実らない恋。まあそんなもんです。
それは置いといて。
配列NSArrayにはNSStringとかNSNumberとかUIViewとか種類を気にせずいろいろ突っ込めて便利なんだけど、はて、CGRectとかCGSizeとかの…CoreGraphics由来の構造体は扱えんの?と思ったのが事の発端。
ちょっと前の記事でNSDataでラップする方法を書いたけど、もっと手軽で簡潔な手法をみつけたのでご紹介。
それは『NSValue』を使います。
「ヘルプ見たけど、そんな感じの事書いてなくね?」と思った人。それ正解。
でも、もすこしヘルプを探すと「NSValue UIKit Additions Reference」ってのが見つかるんです。フツーは気づかないよね!なんとそこに、CoreGraphics由来の構造体を扱う拡張が書かれとるという。
使い方はこんな感じ。
CGRect rect;
NSValue *value = [NSValue valueWithCGRect:rect];
rect = [value CGRectValue];
超楽!CGPoint、CGRect、CGSize、CGAffineTransFormあたりが使えナス。これでいちいちNSDataでラップする事無く、CGRectやCGSizeをNSArrayに突っ込む事ができるよーになりました。
こちらやこちら(英文)でさらに詳しい説明があるんで、NSDataでの方法にうんざりしとったひとは読んでみてちょ。
んで、さいきん作ったiPhoneアプリはこんな感じです。