干し石榴長文用

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

近況

5/3に引越して恋人と同棲を始めました。がんばっていこう
2010年からの4年間はLoVで言うと未覚醒で出撃して自転車操業しつつ超覚醒するマナを貯められないまま2013秋頃死んだという感じなので、まずしっかり固めて継戦能力を高めていきたい気持ちが強い。同じ轍はは踏むまい。とにかくじっくりだ。

で、そのLoVなんですがFFTのラムザとアグリアスさんが参戦して声まで付くという驚天動地の事案により、それはもう始めました。
やり始め直後は何もできないまま蹂躙されるのを繰り返し挫けかけたもののようやく楽しくなってきており震える。

あとブログに書いていなかった気がするのだけれどパズドラは今日でログイン500日目となり、最近ようやくエンジェル白メタの回復271パで降臨の超地獄ノーコンできるようになってきたところ。

a-MUS!C★Night Vol.29がやばかったのと今後について

【2/4】 a-music★night ∞ Vol.29!会社直行OK!クラブ飯!|札幌 アニソン クラブイベント a-MUS!C★night アニクラ
いやー人がかつてなく来ててたまげました。

a-music★night Vol.29!大盛況ありがとうございました!|札幌 アニソン クラブイベント a-MUS!C★night アニクラ

このイベントは初回からvol.26までレギュラーで出させていただいて、いろいろと枯渇気味だったり人生的にも今年は転機なのでしばらくお休みをいただいているのですが、ここ1年くらいの低迷から奇跡の復活を遂げたようです。すげえw

お客さんもDJも減っていく中で気付いたら「ワイがここで踏ん張るんや」という一人相撲をしていたのうにも思うのですが、休んでみれば新しい人たちが新しい流れを持ってきてくれたので、なんだ全然大丈夫じゃん!という安堵の一方で自分のプレイは間違っていたのかというアンニュイな気持ちもあり。

思い返せば今までろくに準備できずに仕事みたいに消化してたように思うので、今後は年2,3回くらいでがっつり準備できるペースでいきたいと思います。

というわけで次のチルパに向けて準備します。
20,nov crew » 03.02 Cirno Party!!!
f:id:zak-raw:20140209145425j:plain

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などを使うときに継承階層の壁に阻まれるという問題があるのですが、
すべてカテゴリに押し込んでしまえば継承階層フリーになるので便利ですね。