Skip to content

Instantly share code, notes, and snippets.

@sora0077
sora0077 / AppDelegate.m
Created May 5, 2013 07:48
ログ出力をもっと便利に簡単にするマクロ ref: http://qiita.com/sora0077@github/items/ea0cf4a1a2ec3f0333d7
id var1 = @"hoge";
VARLOG(var1);
id var2 = @{@"huga": @"hoge"};
VARLOG(var1, var2);
// output
// -[AppDelegate application:didFinishLaunchingWithOptions:] at LINE:78
// {
// var1 = hoge;
@sora0077
sora0077 / file0.txt
Created April 1, 2013 13:52
iOS開発でよく使うマクロ数種 ref: http://qiita.com/items/154f8d39f7189f22daa7
// メッセージを続けて記述可能
// [SafeCast(NSMutableURLRequest, request) setTimeoutInterval:30];
#define SafeCast(type, var) \
^type *(id obj, Class clazz) {\
if ([obj isKindOfClass:clazz]) {\
return obj;\
}\
return nil;\
} (var, [type class])
@sora0077
sora0077 / STTemplate.h
Created February 1, 2013 11:48
同じ処理をテンプレート化
#import <Foundation/Foundation.h>
typedef id(^STTemplateBlocks)();
typedef void(^STTemplateBlocksVoid)();
#define STTemplateExecute(instance, aKey, ...) \
((STTemplateBlocks)[instance templateOf:aKey])(__VA_ARGS__)
#define STTemplateApply(instance, aKey, ...) \
((STTemplateBlocksVoid)[instance templateOf:aKey])(__VA_ARGS__)