Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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;

tana_
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away