------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
-------
Blog类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#import
"Blog.h" @implementation
Blog +(Blog
*)blog{ Blog
* blog = [[Blog alloc] init]; return
blog; } -(Blog
*)setBlogTitle:(NSString *)title andContent:(NSString *)content{ _title
= title; _content
= content; return
self; } -(NSString
*)description{ return
[NSString stringWithFormat:@ "blog
: title is \"%@\" , and content is \"%@\"" ,
_title,_content ]; } -( void )dealloc{ NSLog(@ "%@被销毁了" ,self.title); } @end |
主函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#pragma
mark Array数组的四种遍历方法 void
testArray(){ Blog
*blog1 = [[Blog blog] setBlogTitle:@ "Love"
andContent:@ "I
love you" ]; Blog
*blog2 = [[Blog blog] setBlogTitle:@ "Friendship"
andContent:@ "you
are my best friend" ]; NSArray
*array = [NSArray arrayWithObjects:@ "hello" ,@ "world" ,blog1,blog2,
nil]; //第一种遍历:普通for循环 long
int
count = [array count]; for
( int
i = 0 ; i < count; i++) { NSLog(@ "1遍历array:
%zi-->%@" ,i,[array
objectAtIndex:i]); } //第二种遍历:快速for循环,需要有外变量i int
i = 0; for
(id obj in array) { NSLog(@ "2遍历array:%zi-->%@" ,i,[array
objectAtIndex:i]); i++; } //第三种遍历:OC自带方法enumerateObjectsUsingBlock: //默认为正序遍历 [array
enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL
*stop) { NSLog(@ "3遍历array:%zi-->%@" ,idx,obj); }]; //NSEnumerationReverse参数为倒序遍历 [array
enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(id obj, NSUInteger idx,
BOOL
*stop) { NSLog(@ "4倒序遍历array:%zi-->%@" ,idx,obj); }]; //第四种遍历:利用枚举 NSEnumerator
*en = [array objectEnumerator]; id
obj; int
j = 0 ; while
(obj = [en nextObject]) { NSLog(@ "5遍历array:%d-->%@" ,j,obj); j++; } } int
main( int
argc, const
char
* argv[]) { @autoreleasepool
{ testArray(); } return
0; } |