NSArray と NSMutableArray のキャストはcopy とmutableCopy を使う

投稿者: | 2013/05/13

NSMutableArray → NSArray の場合は copy

NSMutableArray* mItems = @[@"hoge", @"piyo", @"fuga"];
NSArray* items = [mItems copy];

 

NSArray → NSMutableArray の場合は mutableCopy

NSArray* items = @[@"hoge", @"piyo", @"fuga"];
NSMutableArray* mItems = [items mutableCopy];

 

ああ恥ずかしい

基本どころじゃない基本だと思うのですが、知らんかったんですよね。orz
これまで、こんな感じでやっていました。

NSMutableArray* mItems = (NSMutableArray*)items;
NSArray* items = (NSArray*)mItems;

 

参考

こちらの記事より。


 



 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください