/*
---------------------------创建数组------------------------------
*/
//
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
);
/*
******************************************************************************************
NSMutableArray
******************************************************************************************
*/
/*
---------------给数组分配容量----------------
*/
//
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
);
}
/*
******************************************************************************************
NSDictionary
******************************************************************************************
*/
/*
------------------------------------创建字典------------------------------------
*/
//
- (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
******************************************************************************************
*/
/*
------------------------------------创建可变字典------------------------------------
*/
//
创建
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);
/*
******************************************************************************************
NSValue(对任何对象进行包装)
******************************************************************************************
*/
/*
--------------------------------将NSRect放入NSArray中------------------------------------
*/
//
将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);
/*
******************************************************************************************
从目录搜索扩展名为jpg的文件
******************************************************************************************
*/
//
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);
//
}
文章来自:http://blog.sina.com.cn/s/blog_4adf31ea0100nlnp.html