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


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

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

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

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

首先


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


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MobileProject项目是一个以MVC模式搭建的开源功能集合,基于Objective-C上面进行编写,意在解决新项目对于常见功能模块的重复开发,MobileProject对于项目的搭建也进行很明确的划分,各个模块职责也比较明确,MobileProject也引入的一些常用第三方插件、宏定义、工具帮助等;整个项目也是在不断更新跟维护,功能点也会不断更新; 1 集成百度地图(3.0.0版),目前有百度定位功能(ThirdMacros.h修改相应的key值) 2 集成友盟统计(ThirdMacros.h修改相应的key值) 3 集成CocoaLumberjack日志记录 4 引入第三方inputAccessoryView 解决为一些无输入源的控件添加输入响应。比如按钮、cell、view等 5 集成个推消息推送功能(ThirdMacros.h修改相应的key值),证书也要用你们自个的消息证书; 6 集成友盟分享SDK,并在登录页实现的(QQ,微信,新浪)三种的第三方登录功能(ThirdMacros.h修改相应的key值) 7 集成友盟第三方分享(QQ空间分享,微信朋友圈,新浪微博分享,QQ微博分享,微信好友) 8 增加关于CocoaLumberjack日志记录的展示及查看页面 9 增加百度地图显示页面功能实例,实现在地图上显示几个坐标点,并自定义坐标点的图标跟弹出提示窗内容,实现当前定位并画出行车路线图; 10 增加FLEX,在本地测试版本开启,FLEX是Flipboard官方发布的一组专门用于iOS开发的应用内调试工具,能在模拟器和物理设备上良好运作,而开发者也无需将其连接到LLDB/Xcode或其他远程调试服务器,即可直接查看或修改正在运行的App的每一处状态。 11 增加FCUIID帮助,用于获取设备标识 12 增加热更新JSPatch插件,并增加相应的帮助及测试功能(JSPatchViewController) 13 集成启动广告功能模块,如果不要功能可以在AppDelegate里面进行注掉 14 集成CYLTabBarController插件,为项目增加底部4个TabBar菜单 15 引入LKDBHelper并增加创建数据库帮助,实现实体直接映射到数据库表 16 集成第一次启动的引导页功能模块 因为源代码文件比较大,无法直接上传,已开源到github(https://github.com/wujunyang/MobileProject),如果你有时间可以一起完善,当然要是感觉有帮助也可以加个星哈

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值