还记得第一次学习C语言的时候的第一个工程吗?C++呢?JAVA呢?是不是感觉没有接触过“HelloWorld”的人就没接触过编程。纯属本人愚见。
今天我写下在Mac系统的Xcode编译的第一个工程“HelloWorld”。欢迎各位指正。
1.打开Xcode,创建HelloWoeld工程。
点击那个大些字母A上面有把锤子的绿色图标,进入如下界面。
选择红色方框部分:Create a new Xcode project。之后进入如下界面。
选择OS X 下的 Applicaton 里面的 Cocoa Application后点击Next按钮。
给工程取名。
存储工程,由于之前我已经建立了这么一个工程,这里不再进一步演示。至此工程HelloWorld也建立完毕。
2.打开主界面,编译代码。
主界面如此,双击红色方框部分,弹出代码编辑框。
系统已经默认的为我们编写好了HelloWorld的代码。
我们点击左上角的这个按钮,编译代码,编译结果如下:
那么到此新建第一个HelloWorld工程完毕了。但是这里由于Objective-C是一门新的语言,我们需要知道这里的代码和以前学习的C代码有什么差异呢?
//
// main.m
// HelloWorld
//
// Created by zhum on 15/6/16.
// Copyright (c) 2015年 zhum. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}
为什么打印是用 NSLog(@"Hello, World!");?
现在我么你就来解决这两个疑问。
a.和C语言一样,Objective-C使用头文件来包含元素声明,这些元素包括结构体、符号常量、函数原型等。C语言使用#include语句通知编译器应在头文件中查询定义。在Object-C程序中也可以使用#include来实现这个目的。但你可能永远不会那么做,而像下面这样使用#import:
#import <Foundation/Foundation.h>
#import是GCC编译器提供的,Xcode在编译Objective-C、C和C++程序时都是使用它。
#import可保证头文件只被包含一次,而不论次命令实际上在那个文件中出现了多少次。
#import <Foundation/Foundation.h>语句告诉编译器查看Foundation架构中的Foundation.h头文件。
b.在Objective-C中,NSLog相当于C语言中的printf,常用于文字输出。但我建议使用NSlog(),因为他添加了特性,例如时间戳、日期戳和自动附加换行符('\n')等
在Cocoa对其所有 函数、常量和类型都添加了“NS”前缀。这些前缀告诉你函数来自Cocoa而不是其他工具包。
%@
|
对象
|
%d, %i
|
整数
|
%u,%z
|
无符整形
|
%f
|
浮点/双字
|
%x, %X
|
十六进制整数
|
%o
|
八进制整数
|
%zu
|
size_t
|
%p
| |
%e
|
浮点/双字 (科学计算)
|
%g
|
浮点/双字
|
%s
|
C
字符串
|
%.*s
|
Pascal字符串
|
%c
|
字符
|
%C
|
unichar
|
%lld
|
64位长整数(long long)
|
%llu
|
无符64位长整数
|
%Lf
|
64位双字
|
%hhd | BOOL布尔类型 |