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过程很简单。默认安装在下面图的路径下:
鼠标双击Xcode,就会启动Xcode。启动后,在屏幕顶端会出现这样的菜单:
下面就可以创建项目了。第一步,如下图:
创建最简单的项目,连iOS都不碰,只写Mac环境下最简单的命令行应用:
创建后的项目就可以直接运行了,不需要写一行代码。
执行的方法是点击这里:
运行结果在调试控制台上的显示:
默认情况下,可能看不到调试控制台。需要这样打开它:
实际上,我改动了默认生成的项目代码。默认打印的是英文信息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中的字符串写法
这篇文章上的评论的 RSS feed TrackBack URI