EntityItem*item1 = [[EntityItem alloc]init]; item1.name = @"なまえ1"; item1.code = @"id10"; EntityItem*item2 = [[EntityItem alloc]init]; item2.name = @"なまえ2"; item2.code = @"id03"; EntityItem*item3 = [[EntityItem alloc]init]; item3.name = @"なまえ3"; item3.code = @"id12"; EntityItem*item4 = [[EntityItem alloc]init]; item4.name = @"なまえ4"; item4.code = @"id05"; EntityItem*item5 = [[EntityItem alloc]init]; item5.name = @"なまえ5"; item5.code = @"id02"; //並び替える独自クラス入り配列 NSArray *origin = @[item1,item2,item3,item4,item5]; //並び替えたいコードの順番 NSArray *sort = @[@"id02",@"id10",@"id03",@"id12",@"id05"]; //並び替え NSArray *sortedArray = [origin sortedArrayWithOptions:NSSortConcurrent usingComparator:(NSComparator)^(EntityItem* obj1,EntityItem* obj2){ NSUInteger index1=[sort indexOfObject:obj1.code]; NSUInteger index2=[sort indexOfObject:obj2.code]; if(index1>index2){ return NSOrderedDescending; }else { return NSOrderedAscending; } }]; //並び変わった確認 for(EntityItem*item in sortedArray){ NSLog(@"code:%@",item.code); }
2015年11月25日水曜日
独自クラスのArrayを指定のコード順に並べ替える(メモ)
2011年8月3日水曜日
ストリングからクラスとセレクター(メソッド)生成
クラスやメソッド(@selector())はNSArrayやNSDictionary格納できない。
でも、NSStringからセレクターとクラスを生成できるからそれ格納しておけばおっけーですね!
でも、NSStringからセレクターとクラスを生成できるからそれ格納しておけばおっけーですね!
Aclassname = @"TestView"; Bselectorname = @"TestMethod"; Class Aclass = NSClassFromString(Aclassname); SEL Bselector = NSSelectorFromString(Bselectorname);
ラベル:
NSArray,
NSDictionary,
NSString,
クラス,
セレクタ
2011年1月19日水曜日
NSArray 逆順に高速列挙
NSArray * array=[NSArray arrayWithObjects: @"a",@"b",@"c",@"d",@"e",nil]; for(NSString*obj in [array reverseObjectEnumerator]){ NSLog(@"word=%@",obj); }eから順にaまで出力されます。よしよし。
ちなみに、高速列挙中に列挙しているarrayの要素を
足したり消したりしたらエラーになる。
2010年10月18日月曜日
特定文字で分割して配列に入れて返す
文字列をセパレータで分けて、配列にして返す
-(NSArray *) componentsSeparatedByString:(NSString *)separator
NSString *str;
NSArray *arr;
str = [[NSString alloc] initWithString:@"aaa:bbb:ccc:ddd:eee:fff"];
arr = [str componentsSeparatedByString:@":"];
-(NSArray *) componentsSeparatedByString:(NSString *)separator
NSString *str;
NSArray *arr;
str = [[NSString alloc] initWithString:@"aaa:bbb:ccc:ddd:eee:fff"];
arr = [str componentsSeparatedByString:@":"];
登録:
投稿 (Atom)