开发ios的app,首先要了解语言了是不是,假如你不会java,你怎么开发安卓app。开发ios有两种语言,一种是object-c,另一种是swift。我使用object-c语言。
首先来了解一下object-c。object-c是对c语言的扩张,所以c的特性,object-c也是有得,比如说面向对象啊,类啊,继承啊什么的。不过object-c有一点不同的是,object-c是基于事件驱动的语言,什么意思呢,就是说函数的调用都是事件触动的。object-c里面一般有.h和.m文件,.h文件是声明,.m文件是具体的实现。有两个文件a.m和b.m,假如a.m要使用b.m中的函数话,a.m中要引入b.h,当调用时,直接通过b.h,找到函数,然后运行。这样a.m完全不用关心b.m函数的实现了。这种设计是非常的好的,减低了耦合度。
c语言变体有c++和object-c,x-code是通过.m扩展名来表示文件使用的是object-c代码,.cpp是c++,.c是c,x-code编译器根据扩展名的不同使用不同的编译器来编译。为什么说这个呢,是因为在x-code编译器可以编写c和c++,区分一下而写。
object-c所有类型都是指针类型,除了id,其实id是已经封装好的指针了,所以你会看见很多都是指针,比如类的实例,NSString字符串,数组变量等
学习一门语言当然是从helloword开始了。
#import<Foundation/Foundation.h>
int main(int argc,const char *argv[])
{
NSLog(@"helloword");
return (0);
}
分析一下上面的程序:#import表示说文件只引进一次,NSLog是用来打印数据的相当于c的printf。你也可以用printf来打印。NS前缀是object-c的特性,它表明是来自cocoa Api。
cocoa是ios封装好的api库。加上NS是为了防止冲突。所以在写ios时,不要用NS前缀来表明变量,不然会造成其他人认为它是来自cocoa的。@表示的是引号内的字符串当cocoa的NSString来处理。