[黒馬プログラマー][OC]Foundationフレームワークにおける集合クラス
4977 ワード
---------Javaトレーニング、Androidトレーニング、iOSトレーニング、.Netトレーニングはあなたと交流することを期待します!------
NSArray:
オブジェクトを格納するために使用されるシーケンステーブル(任意のタイプのオブジェクト)は、Objective-Cのオブジェクトのみを格納でき、C言語の基本データ型を格納できません.
(int、float、enum、struct、またはNSArrayのランダムポインタ).nil(オブジェクトのゼロ値またはNULL値)も格納できません.
1.NSArrayの基本使用:
2.遍歴配列(配列を3つの方法で遍歴)
3.可変配列の基本使用
NSSet
は、可変および可変のセットを持つ単一値オブジェクトのセットです.これには、セット内のメンバーの検索、追加、削除(可変セットのみ)、2つのセットの比較、2つのセットの交差および並列セットの計算などが含まれます.
1.NSSetの基本使用:
2.NSMutableSetの基本使用:
NSSetとNSArrayの対比
1>共通点
1.すべて集合であり、複数のOCオブジェクトを格納することができる.
2.OCオブジェクトのみを格納でき、非OCオブジェクトタイプを格納できない(基本データタイプ:int、char、floatなど、構造体、列挙);
3.それ自体は可変ではなく、いずれも可変のサブクラスがある.
2>異なる点
NSArrayには順序があり、NSSetには順序がない.
NSDictionary:
通常、指定されたキーワード(通常はNSString文字列)の下に数値(任意のタイプのオブジェクト)が格納されます.このキーワードを使用して、対応する数値を検索できます.
1.NSDictionaryの基本使用:
2.NSMutableDictionarの基本使用
3.辞書の遍歴
集合のまとめ:
1.NSArray\NSMutableArray
*秩序化*クイック作成(可変):@[obj 1,obj 2,obj 3];*クイックアクセス要素:配列名[i];
2.NSSet\NSMutableSet
*無秩序
3.NSDictionary\NSMutableDictionary
*無秩序*クイック作成(可変):@{key 1:value 1,key 2:value 2};*クイックアクセス要素:辞書名[key];
NSArray:
オブジェクトを格納するために使用されるシーケンステーブル(任意のタイプのオブジェクト)は、Objective-Cのオブジェクトのみを格納でき、C言語の基本データ型を格納できません.
(int、float、enum、struct、またはNSArrayのランダムポインタ).nil(オブジェクトのゼロ値またはNULL値)も格納できません.
1.NSArrayの基本使用:
/*
1.NSArray
*/
NSArray *array1 = [NSArray arrayWithObject:@"jack"];
// nil
NSArray *array2 = [NSArray arrayWithObjects:@"jack", @"rose", nil];
// [array2 count];
NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", @"4324324", nil];
// NSArray ( NSArray)
NSArray *array4 = @[@"jack", @"rose", @"4324324"];
/*
2.NSArray
*/
NSLog(@"%ld", array4.count);
/*
3.NSArray
*/
NSLog(@"%@", [array4 objectAtIndex:1]);
//array4[1];
NSLog(@"%@", array4[0]);
2.遍歴配列(配列を3つの方法で遍歴)
NSArray *array = @[@"jim", @"rose", @"jack"];
// for (int i = 0; i
3.可変配列の基本使用
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil];
//
[array addObject:[[Person alloc] init]];
[array addObject:@"jack"];
//
//[array removeAllObjects];
//
// [array removeObject:@"jack"];
[array removeObjectAtIndex:0];
//
// [array addObject:nil];
NSLog(@"%@", array);
NSLog(@"%ld", array.count);
NSSet
は、可変および可変のセットを持つ単一値オブジェクトのセットです.これには、セット内のメンバーの検索、追加、削除(可変セットのみ)、2つのセットの比較、2つのセットの交差および並列セットの計算などが含まれます.
1.NSSetの基本使用:
NSSet *s = [NSSet set];
NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose", @"jack2",@"jack3",nil];
//
NSString *str = [s2 anyObject];
NSLog(@"%@", str);
NSLog(@"%ld", s2.count);
2.NSMutableSetの基本使用:
NSMutableSet *s = [NSMutableSet set];
//
[s addObject:@"hack"];
//
// [s removeObject:];
NSSetとNSArrayの対比
1>共通点
1.すべて集合であり、複数のOCオブジェクトを格納することができる.
2.OCオブジェクトのみを格納でき、非OCオブジェクトタイプを格納できない(基本データタイプ:int、char、floatなど、構造体、列挙);
3.それ自体は可変ではなく、いずれも可変のサブクラスがある.
2>異なる点
NSArrayには順序があり、NSSetには順序がない.
NSDictionary:
通常、指定されたキーワード(通常はNSString文字列)の下に数値(任意のタイプのオブジェクト)が格納されます.このキーワードを使用して、対応する数値を検索できます.
1.NSDictionaryの基本使用:
/*
:
key ----> value
---->
*/
// NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"];
// NSArray *keys = @[@"name", @"address"];
// NSArray *objects = @[@"jack", @" "];
// NSDictionary *dict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
/*
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"jack", @"name",
@" ", @"address",
@"32423434", @"qq", nil];*/
NSDictionary *dict = @{@"name" : @"jack", @"address" : @" "};
// id obj = [dict objectForKey:@"name"];
id obj = dict[@"name"];
NSLog(@"%@", obj);
//
NSLog(@"%ld", dict.count);
2.NSMutableDictionarの基本使用
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
//
[dict setObject:@"jack" forKey:@"name"];
[dict setObject:@" " forKey:@"address"];
[dict setObject:@"rose" forKey:@"name"];
//
// [dict removeObjectForKey:];
NSString *str = dict[@"name"];
//NSLog(@"%@", str);
NSLog(@"%@", dict);
//NSLog(@"%@", @[@"jack", @"rose"]);
3.辞書の遍歴
// key, value(Object)
//
NSDictionary *dict = @{
@"address" : @" ",
@"name" : @"jack",
@"name2" : @"jack",
@"name3" : @"jack",
@"qq" : @"7657567765"};
// NSArray *keys = [dict allKeys];
//
// for (int i = 0; i
集合のまとめ:
1.NSArray\NSMutableArray
*秩序化*クイック作成(可変):@[obj 1,obj 2,obj 3];*クイックアクセス要素:配列名[i];
2.NSSet\NSMutableSet
*無秩序
3.NSDictionary\NSMutableDictionary
*無秩序*クイック作成(可変):@{key 1:value 1,key 2:value 2};*クイックアクセス要素:辞書名[key];