干し石榴長文用

長文以外はTumblrへ徐々に移します。

UIStoryboardのinstantiateViewControllerWithIdentifier:がやたら長いのでカテゴリを設けた

UIStoryboardのinstantiateViewControllerWithIdentifierがやたら長いので

HogeViewController* hogeCon = [self.storyboard instantiateViewControllerWithIdentifier:@"HogeViewController"];

名前短縮のためだけのカテゴリを設けました。

UIStoryboard+Util.h

#import <UIKit/UIKit.h>

@interface UIStoryboard (Util)

- (id) newController:(NSString*)controllerId;

@end


UIStoryboard+Util.m

#import "UIStoryboard+Util.h"

@implementation UIStoryboard (Util)

- (id) newController:(NSString*)controllerId
{
	return [self instantiateViewControllerWithIdentifier:controllerId];
}

@end

若干マシになったようなそうでもないような

HogeViewController* hogeCon = [self.storyboard newController:@"HogeViewController"];

夢見がちに大企業を目指すべきではないという夢のない解

ちょっとタイムラインで話題があってこの連載を思い出しました。
細谷功の未来に飛躍する人と組織の羅針盤 - 細谷功の未来に飛躍する人と組織の羅針盤:ITpro
その中のこれ
細谷功の未来に飛躍する人と組織の羅針盤 - 「組織化」の功罪、「個性的人材を求める」ことの矛盾:ITpro

間違いなく要約する自信がないので要記事参照で。

昨今の就職活動で安定を求めた王手志向がありますが、一方で

  • "金のため・生活のため"といった割り切りがない
  • 「組織の歯車」というワードに嫌悪がある

ならば、大きくて長く続いている会社に入るべきではないということにふと気付きました。

なので、新人が長続きしなかったりなどの傾向はこの辺に対する就職前の想像と実際の齟齬もあるんじゃないかと思いました。
大企業を目指す就活生のニーズは実は若いベンチャーに入る方が満たされるということがあるのかもしれないんじゃないかなど。

UIScrollViewでページ単位スクロール

UITableViewで縦長のカレンダーのようなものを作りたく、

  • セルの高さ = テーブルの7等分
  • スクロールしたら日曜日で止まる

で週ごとに表示する感じにしようと思い、ドラッグイベントのハンドリングなどを自分で書かないといけないのかと思ったのですが(Androidのときはそうだった)、
UITableView(UIScrollViewを継承してる)のpagingEnabledをYESにするだけでOKでした。超絶ナイス

カテゴリでプロトコルを実装できることに気づいた

Objective-Cはカテゴリでプロトコルを実装できることに気づきました。
具体的にはカテゴリ定義で

@interface HogeClass (Foo) <BarProtocol>

と書いたらそのまま通ります。

これを利用すると、例えばモーダルビューを閉じる前に確認ダイアログを出すなどの機能をデリゲート込みで共有できます。

#import <UIKit/UIKit.h>

@interface UIViewController (Common) <UIAlertViewDelegate>

- (void) showDismissAlert;

@end
#import "UIViewController+Common.h"

@implementation UIViewController (Common)

- (void) showDismissAlert
{
	UIAlertView* alert = [[UIAlertView alloc]
				initWithTitle:nil
				message:@"画面を閉じるよ"
				delegate:self
				cancelButtonTitle:@"Cancel"
				otherButtonTitles:@"OK", nil];
	[alert show];
}

#pragma mark - Alert view delegate

- (void)          alertView:(UIAlertView *)alertView
  didDismissWithButtonIndex:(NSInteger)buttonIndex
{
	if (buttonIndex != alertView.cancelButtonIndex) {
		[self dismissViewControllerAnimated:YES completion:nil];
	}
}
@end

共通の振舞いについて、UIViewControllerを継承して基底クラスにしようとすると、
UITableViewControllerなどを使うときに継承階層の壁に阻まれるという問題があるのですが、
すべてカテゴリに押し込んでしまえば継承階層フリーになるので便利ですね。

Rescue!! -the pillows only music party-

16日はしばさん主催のピロウズオンリーでDJをさせていただくことに

http://rescue.main.jp/busters/?p=1

東京から帰りそのままロコトンテの予定でしたが台風18号が千葉あたりに上陸して飛行機が2時間遅れとなるも、序盤をしばさんに託しなんとか到着。
てかJRが麻痺してバスがドチャ混みとなり空港まで行けるのか怪しく肝を冷やしました。はー
ご迷惑をおかけしました…

正直なところ、全部フル尺でかけるつもりだったのでプレイ中の立ち振る舞い的なところに不安があったのですが、始まってみればDJが一番アヘアヘになるいつもの感じでまったく心配要りませんでした。
そして高校のときから顧みればピロウズオンリーのイベントでDJをしているなんて考えられなくて、しかも4年前に初めてアニフェス5で来たロコトンテで、人との縁というものを噛み締めた次第。
東方桜舞宴もうそうでしたが、思い入れの詰まったイベントには必ず「縁」がありますね。
とにかくしばさんそして来てくれたバスターズに感謝です。

http://rescue.main.jp/busters/?p=100

I/O/P EXTENDED AKIBA 2013

15日は東京遠征のメインであるイオパへ

【ファッキンホット】I/O/P EXTENDED AKIBA 2013 続報です!!!!【くそ熱い】 | IOSYS TRAX

ついにぼくはMOGRAにたどりついたぞ!
MOGRAも大変あずましい感じ。
そしていつも通りパーティクズでフィニッシュしました。
今回グッドミュージックなうに続く新テーマ曲が登場し、これがまたすばらしいのですがまだ詳細は把握してませんがリリースが楽しみです。

\I/O/P EXTENDED AKIBA/お疲れ様でした! \ #イオパ / | IOSYS TRAX

次回は来月札幌でゲストぅぃにゃん
やばい

【ありがとう秋葉原】I/O/P 感謝感激の一周年です【またすぐに札幌】 | IOSYS TRAX

パズドラバーに行ってきた

9/14〜16に二人で東京遠征してきまして14日の夜はパズドラバーへ

パズドラ好きが集まるウワサの酒場「パズドラバー」に潜入してきた - ねとらぼ

お酒美味しいしパスタとピザ美味しいし大変あずましい感じ。
記念にガチャ引いたらオオクニヌシ出ました。やったぜ!
本当にカウンター席の方々はみんなパズドラしてるし店主らとパズドラの話で盛り上がってました。すげえ!
あと近くの神社が例大祭でちょっと覗いてきました。
とても良い夜になりました。