OC_NSArrayとNSMutableArray
4863 ワード
今日OCの中の配列を記録して、間違いなくC言語の配列に対して対比します!簡単に比較してみましょう.
CとOCの配列差
//Cの配列は、1種類しか保存できません.OCの配列は、異なるタイプのオブジェクトを同時に保存できます.
//Cの配列は、一般的に基本データ型を保存し、OCの配列は、オブジェクトC:int num[10]のみを保存する.
1.NSArrayの実例化(NSStringと同様にクラスメソッドとalloc initメソッドに分けられ、nilで終わる)
ついでに補足します.
NSLogでは()を見ると、これが配列であることを示します
2、配列の長さ
3、配列内の下付きの要素を抽出する
4、配列の遍歴
4.1 for循環遍歴、比較的に理解しやすい
4.2快速遍歴for in遍歴、ここのNSString*tempStrは配列中のオブジェクトがどんなタイプであるかを知っているときは、直接このように書くことができます.確定していない場合は、4.4を参照してください.
4.3 bolck遍歴法
4.4複数種類のオブジェクトを巡回する
//配列に格納されている要素タイプがクラスのオブジェクトだけではない場合、遍歴はidで受信する
4.5要素の位置、つまり一般的に言われているインデックスをすばやく見つける
5、文字列の切り取り(NSStringと同様に、可変配列操作によって生成される配列または文字列)
CとOCの配列差
//Cの配列は、1種類しか保存できません.OCの配列は、異なるタイプのオブジェクトを同時に保存できます.
//Cの配列は、一般的に基本データ型を保存し、OCの配列は、オブジェクトC:int num[10]のみを保存する.
1.NSArrayの実例化(NSStringと同様にクラスメソッドとalloc initメソッドに分けられ、nilで終わる)
NSArray *classArray = [NSArray arrayWithObjects:@"AA",@"BB",[UIColor BuleColor],nil];//
NSArray *classArray =@[@“”,@“”]// ,
ついでに補足します.
NSLogでは()を見ると、これが配列であることを示します
2、配列の長さ
int count = [classArray count];
3、配列内の下付きの要素を抽出する
NSString *arrStr0 = [classArray objectAtIndex:0];
4、配列の遍歴
4.1 for循環遍歴、比較的に理解しやすい
for(int i =0;i
4.2快速遍歴for in遍歴、ここのNSString*tempStrは配列中のオブジェクトがどんなタイプであるかを知っているときは、直接このように書くことができます.確定していない場合は、4.4を参照してください.
for(NSString *tempStr in classArray)
{
NSLog(@"%@",tempStr);
}
4.3 bolck遍歴法
NSArray *arr=@[@"a",@[@"AA",@"BB"],@"c",];
[arrenumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop)
{// obj idx bolck
if(idx==0)// OR
{
*stop=YES;
}
}];
4.4複数種類のオブジェクトを巡回する
//配列に格納されている要素タイプがクラスのオブジェクトだけではない場合、遍歴はidで受信する
for(id temp in arr)
{//
if([temp respondsToSelector:@selector(length)])
{// length temp
NSLog(@" %d",[temp length]);
}
if([temp respondsToSelector:@selector(count)])
{// count temp
NSLog(@" %d",[temp count]);
}
}
4.5要素の位置、つまり一般的に言われているインデックスをすばやく見つける
NSArray *arr=@[@"a",@"b",@"c",];
int i =[arr indexOfObject:@"b"];
5、文字列の切り取り(NSStringと同様に、可変配列操作によって生成される配列または文字列)
NSString *str = @"i like iOS, ";
5.1 , ,
NSArray *strArr=[str componentsSeparatedByString:@" "];// , strArr[@"i",@"like",@"iOS, "]
5.2
NSString *finalStr = [strArr componentsJoinedByString:@""];// str
6、
NSString *setStr = @"";
6.1、 , , ,
NSArray *setArr = [setStr componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<> "]];
:
(
"",
abcd,
1234,
z3c5,
8jnh,
""
)
------------------------------------------------------ ! --------------------------------------------------
NSArray NSMutableArray, MSMutableString . , .
1、 : Capacity ,
//alloc
NSMutableArray *muArr = [[NSMutableArray alloc] initWithCapacity:0];
//
NSMutableArray *classMuArr = [NSMutableArray arrayWithCapacity:0];
2、 , , , Object
[muArr addObject:@"AA"]
3. 。
[muArr insertObject:@"CC" atIndex:1];
4、
[muArr replaceObjectAtIndex:0 withObject:@"mm"];
5、
5.1、
[muArr removeLastObject];
5.2、 ( )
[muArr removeObjectAtIndex:0];
5.3、 ( @"ll”, )
[muArr removeObject:@"ll"];
5.4、
[muArr removeAllObjects];
6、 , ( 1 2 )
[muArr exchangeObjectAtIndex:1 withObjectAtIndex:2];