OC语法】的更多相关文章

关于OC语法的公开和私有的讨论 OC语法中,类的.h文件向外面暴露类的功能/方法接口,其中定义的属性/方法/协议/类别/类扩展都属于公开的,但实例变量要看限定词(@protected/@public/@private).而类.m封装了类内部的实现细节,对外是不公开的.故类.m中定义的实例变量/属性/方法/类扩展/类别/协议等都是私有的,值得一提的是,定义在.m文件类扩展中的实例变量,无论使用什么限定词(即使是@public),都是私有的. OC语法可以对类的实例变量加@private/@publ…
点语法:   为了给程序员提供便捷,OC中也引入了点语法.不过它和Java中点语法的意义是完全不同的. 在Java中无论调用任何方法,还是访问public类型的成员变量都是用点语法(.号). 而在OC中只规定点语法只可以替代set和get方法. 例如.stu.age = 23;它的本质是[stu setAge : 23];  即,为stu的age属性赋值为23. int myAge = stu.age; 它的本质是[stu age]; 即,获取stu的age属性并赋值给MyAge. 注意: OC…
Object-C简介: OC,即Object-C,iOS开发的核心语言.它是基于C语言的,在C的基础上做了面向对象的封装,所以OC是面向对象的语言.同时也因此OC是兼容C的,也就是说在iOS开发中,可以混入C代码,甚至C++代码. 语法特点: 1.没有包名的概念: 在Java中,为了防止2个类名相同的类冲突,你可以将2个类放在不同的包里.OC中没有“包”的概念,也就是说没有命名空间机制.取而代之的是“前缀”,可以在类前面加上前缀.这样即使2个类名相同,但只要前缀不同,便可以将它们区分. 2.关键…
1.Swift还增加了Objective-C中没有的类型比如元组(Tuple). 元组可以让你创建或者传递一组数据,比如作为函数的返回值时,你可以用一个元组可以返回多个值. 元组(tuples)把多个值组合成一个复合值.元组内的值可以使任意类型,并不要求是相同类型. //可以通过下标来访问元组中的单个元素let http404Error =(,"Not Found") println("The status code is \(http404Error.0)") /…
Accessors 存取方法 All instance variables are private in Objective-C by default, so you should use accessors to get and set values in most cases. There are two syntaxes. This is the traditional 1.x syntax: OC中全部的实例变量默认是私有的.所以多数情况下你应该使用訪问器来获得和设置实例变量的值. 訪问…
类 1.类的定义: 类=属性+方法: -属性代表类的特征 -方法是类能对变化做出的反应 类定义的格式:类的声明和类的实现组成 -接口(类的声明):@interface 类名:基类的名字 .类名首字母要大写 .冒号表示继承关系,冒号后面的是类的父类 .NSObject是OC所有类的基类 .类的声明放在“类名+.h”文件中,要由两部分组成:实例变量和方法 -实现(类的实现):@implementation类名 .方法实现 -都用@end结束c 2.类的使用: OC中,对象通过指针来声明   如:Cl…
Objective-C 是 C 语言的超集 您还能够訪问标准 C 库例程,比如在stdlib.h和stdio.h中声明的那些例程. Objective-C 还是一种很动态的程序设计语言,并且这样的动态是其最大优势.这样的动态体如今它同意在执行应用程序时(即执行时)才去确定其行为,而不是在生成期间就已固定下来.因此,Objective-C的动态机制让程序免受约束(编译和链接程序时施加的约束):进而在用户控制下,将大多数符号解析责任转移到执行时. 当您想要在源码中包含头文件时,请在头文件或源文件的前…
参考资料:博客 @protocol,协议: OC中protocol的含义和Java中接口的含义是一样的,它们的作用都是为了定义一组方法规范. 实现此协议的类里的方法,必须按照此协议里定义的方法规范来. 格式:CO中定义协议用@protocol和@end成对使用:@protocol   协议名   <NSObject> .... @end 另外,OC协议里的方法并不一定要全部实现,@required(必须实现).@options(可选实现).若不写这两个关键字,则默认是必须实现的. 实现协议用尖…
Category(分类): 当我们在开发过程中要给类添加新的方法时,一般不要去动原类. 再不改动原类的限制下,怎么拓展类的方法?以往我们的做法是新建子类使其继承该类,然后通过子类拓展类的行为. OC提供了一种全新的方法:Category(分类).在不改动原类的基础上动态的拓展类的行为. 假如我们要动态拓展Student类,则应该建一个分类(Category),注意:文件命名要有规范,Student+StuOthers.h 格式:只要在被扩展的类名(原类)后加(),在括号里写分类名(拓展类名):…
@class关键字: 在当前类中若要引用其他类的对象作成员变量(Book  *book),我们以前采用的方式是 #import "Book.h" 但 #import "Book.h" 的意思是把整个Book.h文件拷贝进来.但是我们的需求是只要告诉编译器Book是个类就行了,所以写#import可以,但是效率不高. 为此,OC提供了个专门的关键字@class. @class  Book;只是给编译器声明Book是个类! @class Book; @class和#im…