Objective-C
JavaScript
Xcode
iOS
Swift

Objective-C スクリプト化計画 その2


Objective-C スクリプト化計画 その2

スクリプト言語で使われているようなメソッドをObjectiv-cで拡張することで、Objectiv-cだけどスクリプト言語のような便利さで扱えるようにしています

接頭辞を_にすることでオリジナルメソッドを見つけやすくしています。

github

https://github.com/objcToScript/objc

Sample

NSArray*array = [NSArray new];
[array _sort];

UIView*view = [UIView new];
view.x = 10;
view.y = 10;
view.width = 10;
view.height = 10;

主要なNS UIは拡張しています。数にすると300拡張以上

事前にhファイルを読み込ませるとインテリセンスが効きます

https://qiita.com/tana_/items/09012e55e06405aca16d

ビルドがすこし重くなるためフレームワークやStaticライブラリーにするといいです

NSArrayの例

//ソートする

-(NSArray*)_sort;

//キーだけにする

- (NSMutableDictionary*)_to_dic_keyOnly;

//配列の要素をランダムにシャッフルする

- (NSArray*)_exchange;

//配列をスライスする

- (NSArray*)_slice:(NSUInteger)start length:(NSUInteger)length;

//配列をDictionaryにする

- (NSMutableDictionary*)_toDic;

//配列をひっくり返す

- (NSArray*)_reverse;

//配列を結合する

- (NSArray*)_concat:(NSArray*)secondArray;

//空の要素を削除する

- (NSArray*)_deleteEmpty;

//要素にDictionaryがあるかどうか

- (BOOL)_containsDic:(id)dic;

//要素の文字列があれば削除する

- (NSArray*)_removeLength:(NSString*)str;

//指定した要素をインデックスで削除する

- (NSArray*)_removeObjct:(int)index;

//Jsonにする

- (NSString*)_toJson;

//安全にIndexがあるかどうか

- (id)_safeObjectAtIndex:(NSUInteger)index;

//文字列を検索しインデックスが返す

- (int)_searchAtIndex:(NSString*)word;

//文字列を検索しヒットした行の範囲を数字で返す

- (int)_searchAtIndex_range:(NSString*)word;

//安全にIndexがあるかどうかBoolでけ返す

- (BOOL)_safeObjecAtIndex_Bool:(NSUInteger)index;

//配列に文字列を追加する

- (NSString*)_join:(NSString*)str;