日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NSArray、NSMutableArray和NSMutableDictionary的用法

發布時間:2025/5/22 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NSArray、NSMutableArray和NSMutableDictionary的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:http://www.cnblogs.com/wangpei/admin/EditPosts.aspx?opt=1

NSArray是靜態的數組,就是它所指向的內容是不可改變的,它指向一段內存區域,一旦初始化,不能通過它對該內存區域的數據進行修改操作,但是它可以讀數據。

NSMutableArray是動態的是NSArray的子類,可以對所指向的內存區域內容進行更改,并可以增加數組內容

NSArray和NSmutableArray的第一個數據的下標為0。

********************************************************************************

NSArray?
********************************************************************************

NSArray *array = [NSArray alloc] initWithObjects:
@"One",@"Two",@"Three",@"Four",nil];

self.dataArray = array;
[array release];

//- (unsigned) Count;數組所包含對象個數;
NSLog(@"self.dataArray cound:%d",[self.dataArray count]);

//- (id) objectAtIndex: (unsigned int) index;獲取指定索引處的對象;
NSLog(@"self.dataArray cound 2:%@",[self.dataArray objectAtIndex:2]);

?


//arrayWithArray:
NSArray *array1 = [NSArray alloc] init];
NSMutableArray *MutableArray = [NSMutableArray alloc] init];
NSArray *array = [NSArray arrayWithObjects:
??????@"a",@"b",@"c",nil];
NSLog(@"array:%@",array);
MutableArray = [NSMutableArray arrayWithArray:array];
NSLog(@"MutableArray:%@",MutableArray);

array1 = [NSArray arrayWithArray:array];
NSLog(@"array1:%@",array1);


//Copy
//id obj;
NSMutableArray *newArray = [NSMutableArray alloc] init];
NSArray *oldArray = [NSArray arrayWithObjects:
??????@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];

NSLog(@"oldArray:%@",oldArray);
for(int i = 0; i < [oldArray count]; i++)
{???????
?obj = [oldArray objectAtIndex:i] copy];
?[newArray addObject: obj];
}
//????
NSLog(@"newArray:%@", newArray);
[newArray release];


//快速枚舉
NSMutableArray *newArray = [NSMutableArray alloc] init];
NSArray *oldArray = [NSArray arrayWithObjects:
??????@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];???
NSLog(@"oldArray:%@",oldArray);

for(id obj in oldArray)
{
?[newArray addObject: obj];
}
//????
NSLog(@"newArray:%@", newArray);
[newArray release];???


//Deep copy
NSMutableArray *newArray = [NSMutableArray alloc] init];
NSArray *oldArray = [NSArray arrayWithObjects:
??????@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];???
NSLog(@"oldArray:%@",oldArray);???
newArray = (NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)oldArray, kCFPropertyListMutableContainers);
NSLog(@"newArray:%@", newArray);
[newArray release];???


//Copy and sort
NSMutableArray *newArray = [NSMutableArray alloc] init];
NSArray *oldArray = [NSArray arrayWithObjects:
??????@"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];???
NSLog(@"oldArray:%@",oldArray);
NSEnumerator *enumerator;
enumerator = [oldArray objectEnumerator];
id obj;
while(obj = [enumerator nextObject])
{
?[newArray addObject: obj];
}
[newArray sortUsingSelector:@selector(compare:)];
NSLog(@"newArray:%@", newArray);
[newArray release];

?

//從字符串分割到數組- componentsSeparatedByString:
NSString *string = [NSString alloc] initWithString:@"One,Two,Three,Four"];
NSLog(@"string:%@",string);???
NSArray *array = [string componentsSeparatedByString:@","];
NSLog(@"array:%@",array);
[string release];

//從數組合并元素到字符串- componentsJoinedByString:
NSArray *array = [NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];
NSString *string = [array componentsJoinedByString:@","];
NSLog(@"string:%@",string);

?

//NSArray *array;
array = [NSMutableArray arrayWithCapacity:20];


//- (void) addObject: (id) anObject;
NSMutableArray *array = [NSMutableArray arrayWithObjects:
@"One",@"Two",@"Three",nil];
[array addObject:@"Four"];
NSLog(@"array:%@",array);

?

//-(void) removeObjectAtIndex: (unsigned) index;???
NSMutableArray *array = [NSMutableArray arrayWithObjects:
@"One",@"Two",@"Three",nil];
[array removeObjectAtIndex:1];
NSLog(@"array:%@",array);

?

//- (NSEnumerator *)objectEnumerator;從前向后
NSMutableArray *array = [NSMutableArray arrayWithObjects:
@"One",@"Two",@"Three",nil];
NSEnumerator *enumerator;
enumerator = [array objectEnumerator];

id thingie;
while (thingie = [enumerator nextObject]) {
?NSLog(@"thingie:%@",thingie);
}


//- (NSEnumerator *)reverseObjectEnumerator;從后向前
NSMutableArray *array = [NSMutableArray arrayWithObjects:
@"One",@"Two",@"Three",nil];
NSEnumerator *enumerator;
enumerator = [array reverseObjectEnumerator];

id object;
while (object = [enumerator nextObject]) {
?NSLog(@"object:%@",object);
}


//快速枚舉
NSMutableArray *array = [NSMutableArray arrayWithObjects:
@"One",@"Two",@"Three",nil];
for(NSString *string in array)
{
?NSLog(@"string:%@",string);
}


//- (id) initWithObjectsAndKeys;
NSDictionary *dictionary = [NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];
NSString *string = [dictionary objectForKey:@"One"];
NSLog(@"string:%@",string);
NSLog(@"dictionary:%@",dictionary);
[dictionary release];


//創建
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];

//添加字典
[dictionary setObject:@"One" forKey:@"1"];
[dictionary setObject:@"Two" forKey:@"2"];
[dictionary setObject:@"Three" forKey:@"3"];
[dictionary setObject:@"Four" forKey:@"4"];
NSLog(@"dictionary:%@",dictionary);

//刪除指定的字典
[dictionary removeObjectForKey:@"3"];
NSLog(@"dictionary:%@",dictionary);


//將NSRect放入NSArray中
NSMutableArray *array = [NSMutableArray alloc] init];
NSValue *value;
CGRect rect = CGRectMake(0, 0, 320, 480);???
value = [NSValue valueWithBytes:&rect objCType:@encode(CGRect)];
[array addObject:value];
NSLog(@"array:%@",array);

//從Array中提取
value = [array objectAtIndex:0];
[value getValue:&rect];
NSLog(@"value:%@",value);


NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *home;
home = @"../Users/";

NSDirectoryEnumerator *direnum;
direnum = [fileManager enumeratorAtPath: home];

NSMutableArray *files = [NSMutableArray alloc] init];

//枚舉
NSString *filename;
while (filename = [direnum nextObject]) {
?if([filename pathExtension] hasSuffix:@"jpg"]){
??[files addObject:filename];
?}
}

//快速枚舉
for(NSString *filename in direnum)
{
?if([filename pathExtension] isEqualToString:@"jpg"]){
??[files addObject:filename];
?}
}
NSLog(@"files:%@",files);

//枚舉
NSEnumerator *filenum;
filenum = [files objectEnumerator];
while (filename = [filenum nextObject]) {
?NSLog(@"filename:%@",filename);
}

//快速枚舉
for(id object in files)
{
?NSLog(@"object:%@",object);
}

?

?for(NSString *arrayString1 in readArray1)
?{
??//NSLog(@"arrayString1=%@",arrayString1);
??NSArray *array1=[arrayString1 componentsSeparatedByString:@"#:)"];?
??
??NSString *name1=[array1 objectAtIndex:0];
??NSString *page1=[array1 objectAtIndex:1];
??
??[self.array addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:name1,@"name",page1,@"page",nil]];
??
??NSString *fileString3=[NSString stringWithFormat:@"%@#:)%@",
??????????name1,page1];
??[self.markName addObject:fileString3];
??
?}?

總結

以上是生活随笔為你收集整理的NSArray、NSMutableArray和NSMutableDictionary的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。