ObjC: Helloworld

ObjC语言是什么?

ObjC语言,即,objective-c语言。对该语言完整的名词性理解,可参照维基百科该条目中文页面

ObjC语言,因为这几年iPhone和iPad的流行而引起开发人员的广泛关注。

ObjC语言是C语言的超集,换句话说,C语言的语法在ObjC语言中是完全支持的。因此,有运用C语言基础的开发者,学习ObjC语言将会比较容易。对于Java语言基础的开发人员,ObjC语法也有一些相似之处,因为Java在语法上也借鉴了很多C的语法。

 

怎样编写最简单的ObjC程序

想要编写Objc程序,首先要解决硬件方面的问题,即,要有一台运行Mac OS X系统的硬件设备。

软件环境前提是,安装Apple公司的集成开发工具包:Xcode。可在这里下载Xcode的最新版本。Xcode有多个版本,下载要选择带iOS SDK版本的Xcode。因为,大部分使用Xcode的开发者,都是开发iOS应用的。

安装Xcode过程很简单。默认安装在下面图的路径下:

image

鼠标双击Xcode,就会启动Xcode。启动后,在屏幕顶端会出现这样的菜单:

image

下面就可以创建项目了。第一步,如下图:

image

创建最简单的项目,连iOS都不碰,只写Mac环境下最简单的命令行应用:

image

创建后的项目就可以直接运行了,不需要写一行代码。

执行的方法是点击这里:

image

运行结果在调试控制台上的显示:

image

默认情况下,可能看不到调试控制台。需要这样打开它:

image

实际上,我改动了默认生成的项目代码。默认打印的是英文信息Hello world。

默认的代码:

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

// insert code here…
NSLog(@"Hello, World!");
[pool drain];
return 0;
}

 

我改动后的代码:

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {
//NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

NSLog(@"你好,世界!");
//[pool drain];
return 0;
}

通过import,将Foundation库引入项目。Objc的代码,最少会依赖这个库。就好比Java中依赖java.lang包一样。

h结尾的文件是头文件。这是C语言中的语法。该文件用于声明代码中的一些变量、常量和函数等。主要作用有:

  • 便于其他代码使用你的代码,比如源代码不便公开,可公开头文件,供其他人引用你的功能
  • 加强类型安全检查。比如,头文件和实现代码文件中的声明不一致,则编译时会报错
  • 头文件可提高代码的可读性

具体头文件的语法和元素,比较多,可阅读C语言手册学习。

单行注释,和C、Java的语法是一样的。NSAutoreleasePool,后面会提到,是自动内存释放池,功能是有关内存管理方面的。

NSLog是一个函数,用于打印日志的。

@"…",表示一个字符串。使用@""格式,是为了和C的字符串类型相区分,后者其实是字符数组,功能很弱小。前者是ObjC的foundation库(基本核心库)提供的功能强大的字符串类型,相当于Java中的String类。而且该字符串是UTF8编码的,可以看到中文支持没有问题。

ObjC沿用了C的程序入口机制,和Java也类似,有个main方法,返回值是int型的。沿袭C的约定,正常结束返回0,错误结束返回-1。

 

总结

通过本文,应该了解了:

  • ObjC语言是什么
  • ObjC语言和C语言的关系
  • 编写ObjC语言,需要哪些条件
  • 如何编写和iOS无关的最简单应用
  • NSLog()是什么,怎么使用
  • ObjC中的字符串写法
PDF格式創作    发送文章为PDF   

这篇文章上的评论的 RSS feed TrackBack URI

Leave a Reply