第一次摸mac,使用xcode编写了一个小程序
首先新建一个项目为Test,新建Application->Command Line Tool
新建完成以后,会自动在主函数中添加hello world
当然我要的不是这么简单的程序,好也来个函数
首先点击左上角的Source文件夹,然后选择New Files,选择Objective-C Class,也就是第一个,点击Next直到完成(补充一下,文件名叫Test)。
xCode会给你新建一个Test.h,Test.m
这里说一下
Test.h类似于头文件,也就是写接口定义的(@interface)
Test.m类似于方法的实现 (@implementation)
我们在Test.h里写- (int)TestAdd:(int)a second:(int)b; 定义一个方法为私有方法,前面的减号就是私有方法
(int)是返回值的类型
TestAdd是函数名
冒号后面跟参数
(int)a 就是说a的返回类型是int类型的
同理(int)b也是这样,在Objective-C中,变量类型是要用括号括起来的
为什么(int)b前面要写second呢?objective-c的标准写法就是这样,从第二个变量开始,每个变量需要有这个变量的描述
second (int) b的描述就是second,当然你在实际项目中要取一个有意义的名字,有人要问了,那为什么第一个变量没有呢?好问题!看到TestAdd了吗?方法名就可以了,我想这也是一个objective-c的优势所在,变量描述->变量类型->变量名
OK,那我们来看方法的实现吧
打开Test.m,输入如下代码:
@implementation TestAdding
-(int) TestAdd:(int) a second:(int)b
{
return a+b;
}
@end
这个很简单,单纯的方法实现
OK,保存。
然后重新打开入口程序
首先需要实例化,实例化的方法比较特别:
TestAdding *whm=[[TestAdding alloc] init];
TestAdding是什么很明白了吧,然后objective-c用[[TestAdding alloc] init]这种方法来实例化的。
然后下面就很简单了,输入NSLog(@"%d",[whm TestAdd:10 second:10]);
OK。编译,运行。
顺便提一下,因为这个命令行程序运行都是很快的,一般你看不到,所以打开左边的products,然后下面有个命令行窗体一样的符号,双击打开,就可以看到了