之前一直都是自己在自学Android,所以目前是以java为主要语言的,虽然了解一些C和C++,但是在学习IOS之前,还是需要先把OC的语法先过一遍,下面是自己在学习OC时记的一些笔记,主要是在java中不一样的内容
@:字符串之前的@表示这是一个Cocoa对象
%@:%@格式表示使用NSlog输出任意对象的值时,都会使用%@格式来表示。
oc源代码包括接口和实现两个部分。
@interface是接口展示类的构造,编译器将@interface编译后,才能使用该类的对象,调用类的方法,将对象复合到其他类中,及创建子类。
@Implementation是类的实现,它告诉编译器如何让该类工作,这部分代码实现接口所有声明方法。
@interface包括:类的@interface指令,公共struct定义、enum常量、#define和extern全局变量等。
@implementation:类的@implementation指令、全局变量的定义、私有struct等
@class是一个前向引用。它告诉编译器,以后会知道这个类到底是什么,但是现在,知道这些足矣。
@class 用于循环依赖关系,如果用import让两个雷互相引用,会出现变异错误,但是在A.h文件中使用@class B在B.h中使用@class A,可以避免这种错误
减号-和加号+
加号+:表示这个方法是类方法,类似Java的静态方法,这个方法属于类对象不属于实例对象。
分配和初始化