Objective-C 入门笔记

简介

创建在C语言之上,能够混编C/C++代码,编写一个类须要二个文件:objective-c

.h的头文件app

.m的实现文件(若是是C/C++混编文件,文件后缀为.mm)函数

既然有头文件,因此不少人会拿它与C++进行类比,它最重要的三个特性是:Message、Category、Protocol,与C++类比,两者之间的不一样:学习

一、它没有new也没有delete,但有相似的方法alloc、dealloc;this

二、不支持多继承,只支持单继承,可是提供了Protocol;spa

三、它没有命名空间;code

四、不支持内联函数;blog

五、不支持参数默认值;继承

C++太过庞大,因此拿两者比较其实不是特别合适,跟Java相比,我以为可能更适合一些吧ip

 

快速入门

1) 类的定义

.h头文件

@interface Hello : NSObject  
 
@end
.m实现文件
#include "Hello.h"
@implementationFraction
 
@end

 
一般咱们定义一个类,都会让它继承自NSObject。有人会问NSObject后面的{}怎么省略了,由于我没有定义“实现变量”因此就把它省略了。
 
由于OC不提供命名空间,因此类命名上要特别注意了,否则很容易覆盖/冲突而致使不少未知的问题。苹果定义的类,通常类名最前面有二个字母,好比NSObject中的NS,UIKit中的UI,因此为了不跟苹果定义的类产生冲突,自定义的类以三个字母开头,好比BNR这样
 
 
2) 方法的定义和调用
 
方法分二种:实例方法、类方法,如上图所示,区别类方法和实例方法,主要是它的声明符:-、+
+ (返回值类型) 类方法名
- (返回值类型) 实例方法名,须要先建立后再使用,好比这样:[[[Hello alloc] init] methodName];
 
不管是哪一种方法,调用都是使用中括号“[]”,方法的准确来说应该称为发消息,它有三个要素:
receiver(消息接收方)
selector(选择器,一般指方法名)
arguments(实参)
 
一般类中调用自身的方法,用[self xx],self是一个隐式的局部变量,不须要声明self,程序自动会为self赋值,把它看成JavaScript中的this就好理解了。
 
OC中默认全部的方法都是公开的,因此若是你想定义一个私有方法,不须要在.h中声明方法,直接在.m中定义方法就好,可是建议使用p_开头,这样避免与苹果中定义的一些私有方法名产生冲突。
 
 
3) 基本数据类型
 
OC创建在C语言之上,因此C中的全部基本数据类型它都支持,好比:int、float、char…
OC自身定义的数据类型,都包含在Foundation中了,类名以NS开头,好比:NSArray、NSInteger、NSNumber,定义:NSString *myStr;
 
 
更多关于Objective-C的学习资料,推荐 Ry’s Objective-C Tutorial 
相关文章
相关标签/搜索