こちらの記事によると、Clangのバージョンアップにより、変数名に日本語を含むUnicodeが使えるようになったそうです。
変数名ができるなら、クラス名やメソッド名もいけるんじゃね?ということで試してみたら出来ました。
ヘッダ
@interface ・ω・ : NSObject
typedef NSString *Σ・Д・;
+ (instancetype)・ω・初期化しちゃうよ・ω・;
- (Σ・Д・)・c_・;
@end
実装
@implementation ・ω・
+ (instancetype)・ω・初期化しちゃうよ・ω・
{
return [[self alloc] init];
}
- (Σ・Д・)・c_・
{
return @"(´・ω・`)ショボーン";
}
@end
使ってみる。
まるでふざけているように見えても立派なObjective-Cという。。
・ω・ *日本語インスタンスだよ = (・ω・*)[・ω・ ・ω・初期化しちゃうよ・ω・];
Σ・Д・ もじれつ = [日本語インスタンスだよ ・c_・];
NSLog(@"%@", もじれつ);
コンソール出力結果
2013-12-26 18:42:06.250 Test[6900:60b] (´・ω・`)ショボーン
補完が効かなかったり、メソッド一覧に出てこなかったり、使える文字が限られていたり、そして何より見栄え的に実用的かどうか。。