首先 小字体部分可以忽略,学习要从简单的开始,也就是由简到繁,这里我们创建的项目是基于控制台的,没有多余的代码容易理解。
之所以写这么简单的东西,是因为这是我刚学到的,算是复习一下,但我觉得简单也有写的必要,像对我这样一
个刚刚接触苹果系统环境和开发环境的人来说,还是要看查找很多的才能写出自己的第一个类,我们这里主要
说的是如何创建一个类的步骤,错误不当的地方在所难免,希望指正, 以免误解大家。
首先
点击dock中Xcode(这里版本为4.3.3)应用,
上图中Welcome to Xcode 下有 Create a new Xcode project 点击一下创建新项目
选择项目类型,这里我们选择 基于mac OS X 系统下的控制台程序 点击next
这里我们输入项目的名称 MyFirstClass 然后和公司标示 这里注意了type 选择Foundation 这样我们就可以使用平台提供的大量的类 这个应该和java的基础包差不多
这样我们就看到了 我建立的项目
项目下面有三个文件包 一个和项目名称一致 还有两个固定的 frameworks 这里是存放 支持框架的文件 类似java中jar文件 这里是foundation.framework 也就是我们在创建项目
时 最后一个步骤中type 选项中选择的结果,另外一个就是products 存放可以运行的程序
在MyFirstClass文件夹下面有个main.m 文件,这个文件中我们可以看到main 函数 也就是程序的入口函数,代码已经为我们写好了 直接运行会出现
Hello, World!
新建一个类 使用快捷键 command + N
选择Object-C class 点击next
输入类名 Student 然后选择父类 NSObject 点击next 选择要类文件存储的位置
以下是代码部分
声明类的.h文件
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#import <
Foundation
/Foundation.h>
@interface Student : NSObject
{
int age;
NSString *name;
}
-(void)show;
-(void)setAge:(int)a;
-(NSString*)name;
-(void)setName:(NSString*)n;
-(NSString*)getName;
@end
|
实现类的.m文件
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
|
#import "Student.h"
@implementation Student
-(void)show
{
NSLog(@"我的名字:%@,我的年龄:%i",name,age);
NSLog(@"会不会调用 setter 方法呢???");
self.name=@"";//这种方式等价于 [student setName:""]; 所以这里会调用 setName 方法 getter 没有类似的作用
}
-(void)setAge:(int)a
{
age=a;
}
-(void)setName:(NSString *)n
{
NSLog(@"会调用啦" );
name=n;
}
-(NSString*)name
{
NSLog(@"会调用name" );
return name;
}
-(NSString*)getName
{
NSLog(@"会调用getName" );
return name;
}
@end
|
调用代码
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#import <
Foundation
/Foundation.h>
#import "Student.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSString *info = @"hello ,World!";
// insert code here...
NSLog(@"%@",info);
Student* student = [[Student alloc] init];
[student setName:@"Zhengcp"];
[student setAge:24];
[student show];
student.name = @"zheng";
NSLog(@"%@",student.name);
}
return 0;
}
|