objective-C 2.0
Posted 景云蝉语
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了objective-C 2.0相关的知识,希望对你有一定的参考价值。
objective-C五大特性:
- 完全兼容C
- 面向对象
- 单继承(OC里的函数均为虚函数、通过类别和协议实现伪多继承)
- 动态绑定(dynamic_cast 把基类指针转化为子类指针的时候会自动做判断、ID类型 表示任意类型的对象,实现动态绑定)
- 消息机制(SmallTalk语言 解决空指针错误崩溃)
#import <Foundation/Foundation.h> //:表示公有继承 @interface Person : NSObject { //属性,实例变量,默认权限为protected int age; //对象声明时必须使用* NSString * name; } //生成set和get方法 @property (nonatomic,assign) int age; // - 表示实例的方法(消息),+ 表示类的方法(消息)static - (void)eat;
- (void)setName:(NSString *)nameValue;
@end
#import "Person.h" @implementation Person @synthesize age; - (void)eat { NSLog(@"eat function called"); } - (void)setName:(NSString *)nameValue { if (nameValue) { //指针不能直接赋值,否则释放时会出现问题 if (name != nameValue) { name = nil; name = [NSString stringWithString:nameValue]; } } } @end
#import "Person.h" #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //alloc为+方法,init为-方法 Person * p = [[Person alloc]init]; [p eat]; //oc字符串必须以@开头 [p setName:@"yangjing"]; } return 0; }
以上是关于objective-C 2.0的主要内容,如果未能解决你的问题,请参考以下文章
AsyncDisplayKit 2.0 Objective-C 教程
一篇文章拿下《Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法》
《Effective Objective-C 2.0》读书/实战笔记二