1、Objective-C基础

• 1. 兼容性

Objective-C可以说是一种面向对象的C语言,在Objective-C的代码
中可以有C和C++语句,它可以调用C的函数,也可以通过C++对象 访问方法。

• 2. 字符串

Objective-C通常不使用C语言风格的字符串。大多数情况下是使用
Foundation框架的NSString类型的字符串。NSString类提供了字符串
的类包装,支持Unicode,printf风格的格式化工具等等。它是在普 通的双引号字符串前放置一个@符号,如下面的例子所示:

NSString* myString = @"My String\n";
NSString* anotherString = [NSString stringWithFormat:@"%d %s", 1, @"String"];

• 3. 类

Objective-C是一种面向对象的语言,定义类是它的基本能力。
Objective-C的类声明和实现包括两个部分:接口部分和实现部分。

• 4.方法

Objective-C是一种面向对象的语言,定义方法也是它的基本能力。
Objective-C中方法不是在“.”运算符,而是采用“[]”运算符。有时 候方法调用也称为:消息发送。

• 5. 属性

属性是Objective-C 2.0提出的概念,它是替代对成员变量访问的“
读取方法(getter)”和“设定方法(setter)”的手段,为了对类 进行封装一般情况下不直接访问成员变量,而是通过属性访问。

• 6.协议

Objective-C中的协议类似于Java中的接口或C++的纯虚类,只有接口部分定义没有实现部分,即只有h文件没有m文件。

• 7 .分类

Objective-C中的分类是类似与继承机制,通过分类能够扩展父类的 功能。

oc代码的扩展名
oc代码的扩展名

• 8 .代码HelloWorld:

// First program example
#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;
}

• 9 .解释

#import <Foundation/Foundation.h> 告诉编译器找到
并处理名为Foundation.h文件,这是一个系统文件, #import表示将该文件的信息导入到程序中。
在C和C++中采用#include指令,在本例中也可以采用 #include,而#import是#include改进指令,它可以防止头文件重复包含问题。

int main(int argc, const char * argv[]),这个方法是程序的入口。参数argc-参数数目,argv-参数值。
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init] 语句是创建一个自动释放内存池对象,使用它来维护内存释放和回收,其中alloc方法是分配内存,init方法是初始化 类,相当于C++或Java的构造方法作用。

NSLog是Foundation框架提供的Objective-C日志输出函数,与标准C中的printf函数类似,并可以格式化输出。@“Hello, World!”,是代表NSString字符串对象,它是Objective-C常用的字符串类。
[pool drain]语句是用来释放内存池,它将纳入到这个内存
池中管理的对象内存全部释放掉,关于NSAutoreleasePool 问题我们将在内存管理部分详细讨论。
最后是return 0语句,它表示要终止main的执行,一般情 况下0代表正常结束,非0代表异常情况,这是沿用了C语 言的习惯。

• 10 .程序的执行过程
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值