XCode中创建第一个类 -记录学习过程

来源:互联网 发布:风衣 孙燕姿 知乎 编辑:程序博客网 时间:2024/04/19 21:06


首先 小字体部分可以忽略,学习要从简单的开始,也就是由简到繁,这里我们创建的项目是基于控制台的,没有多余的代码容易理解。

之所以写这么简单的东西,是因为这是我刚学到的,算是复习一下,但我觉得简单也有写的必要,像对我这样一

个刚刚接触苹果系统环境和开发环境的人来说,还是要看查找很多的才能写出自己的第一个类,我们这里主要

说的是如何创建一个类的步骤,错误不当的地方在所难免,希望指正, 以免误解大家。

首先


点击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;
}


原创粉丝点击