用OC打出hello
对C的扩展
Objective-C与C、C++同源,编译器能理解这3种变体。Xcode中编译工作默认由LLVM处理。
最简单的Objective-C程序
好的,此处直接上最简单的iOS APP程序!
Xcode上create一个iOS app项目,注意language选Objective-C(选错重来哈),use core data和include tests都不勾选(还用不上)。source control想用的看这篇操作。
找到main文件,return之前加上下句,左上小三角点起来~
NSLog(@"hello,Objective-C");
解析程序
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
NSString * appDelegateClassName;
@autoreleasepool {
// Setup code that might create autoreleased objects goes here.
appDelegateClassName = NSStringFromClass([AppDelegate class]);
}
NSLog(@"hello,Objective-C");
return UIApplicationMain(argc, argv, nil, appDelegateClassName);
}
- #import可保证头文件只被包含一次。第一句引入,告诉编译器查找UIKit框架中的UIKit.h文件。
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
知识补充1:
框架是一种把头文件、库、图片、声音等内容聚集在一个独立单元中的集合体。
抓主体,框架是一种集合体(重复三遍)!
苹果公司将Cocoa、QuickTime、OpenGL等技术作为框架集来提供。Cocoa组成部分包括Foundation和Core Image。
- main程序入口不解释
int main(int argc, char * argv[])
- NSLog()打印到控制台到函数,@"string"表示引号内到字符串应作为Cocoa中NSString元素来处理。
NSLog(@"hello,Objective-C");
知识补充2:
函数前缀NS,工具包还是NeXT Software公司的产品,苹果没有破坏兼容性,都用NS前缀。好的,就用到现在。至于为啥要前缀,我的函数库,只要你不用NS前缀,那我就是独一无二,不怕盖。
- return程序返回不解释
return UIApplicationMain(argc, argv, nil, appDelegateClassName);
结语
上手的快乐~