まゆたまガジェット開発逆引き辞典

電子工作やプログラミングのHowtoを逆引き形式で掲載しています。作りたいモノを決めて学んでいくスタイル。プログラマではないので、コードの汚さはお許しを。参照していないものに関しては、コピペ改変まったく問いません

文字列の中で最も長いものを取り出す

いくつか文字列があって、その中で最も長いものを取り出したい場合のやり方です。文字列を配列に格納してsortedArrayUsingDescriptorsを使って長い順に並べていちばん最初のリストを取り出しています。

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    
    NSString *str1 = @"こんにちわ、私は初音ミクです";
    NSString *str2 = @"Hello,Master!";
    NSString *str3 = @"みっくみくにしてやんよ";
    NSString *str4 = @"マスター!";

   NSArray *arrStr =  [NSArray arrayWithObjects:str1,str2,str3,str4, nil];
//長さを基準に並べ替える、ascending:YESだと短い順になる
    NSArray *strSort = [NSMutableArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"length" ascending:NO]];
//並べ替える
    NSArray *resultSort = [arrStr sortedArrayUsingDescriptors:strSort];
//最も長い文字列を取り出す
NSString *resultStr = [resultSort objectAtIndex:0];
    NSLog(@"%@",resultStr);
  
}