Objective-C学习1

来源:互联网 发布:曦力 mac 编辑:程序博客网 时间:2024/05/29 16:04

Objective-c  介绍

1. objc与c++不同,objc不支持运算符重载,也不支持多继承

2. objc是动态定型所以它的类库比C++要容易操作。Objective-C 在运行时可以

允许根据字符串名字来访问方法和类,还可以动态连接和添加类。

3. c++更安全,objc更灵活

4. objc不包括命名空间机制,需要coder自己在其类别名称加上前缀。

以“NS"作为前缀

5. objc是c的母集

6. objc使用动态运行时类型,并且所有的方法都是函数调用,很多常见的

编译性能优化方法都不能应用于objc(例如:内联函数,常数传播,交互式优化)

这使得objc性能劣于类似的对象抽象语言(如c++)

 

简易教程

1. Objective-C,是 C 的衍生体,继承了所有 C 语言的特性。
2. nil:在 C/C++ 你或许曾使用过 NULL,而在 Objective-C 中则是 nil。
3 BOOL:C 没有正式的布尔类型,而在 Objective-C 中也不是「真的」有。他包括在
Foundation classes(基本类别库)中(import NSObject.h,nil也包括在这个标头档内)
BOOL在objc中有两种型态:YES or NO ,不是TRUE or FALSE
4. #import VS  #include: 就如同你在hello world范例看到的,我们使用了#import, #import 由
gcc编译器支援。我并不建议使用#include,#import 基本上跟.h档头尾的#ifndef #define #endif
相同。

5. hello world
hello.m
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSLog(@"hello world");
return 0;
}
输出
hello world
在objc中使用#import代替使用#include
objc中文件后缀名为.m 不是.c 或.cpp
NSLog自己有换行功能,不需要使用"/n"





0 0