object-c中扩展--extension
2016-05-11 10:02
417 查看
扩展和类别相似,定义如下
@interface x现有类 (){
变量
}
//方法
@end
在类别时也可以增加新的变量。
但是扩展可以增加实例变量,也可以使用@property来合成属性;但是定义类的类别时,不允许定义额外的实例变量,也不能使用@property
实例如下:
#import<Foundation/Foundation.h>
@interface Car:NSObject
@property (nonatomic,copy)NSString* brand;
@property(nonatimic copy)NSString* model;
-(void) drive;
@end
#import "Car.h"
@interface Car()
@property(nonatomic,copy) NSString* color;
-(void) drive:(NSString*) name;
@end
#import :Car+drive.h"
@implementation Car
-(void) drive{};
@end
#import <Foundation/Foundation.h>
#import "FKCar+driver.h"
int main(int arg,char*argv[]){
@autoreleasepool{
Car* car=[[Car alloc] init];
car.brand=@"BMW";
car.model=@"a";
car.color=@"";
[car drive];
}
return 0;
}
@interface x现有类 (){
变量
}
//方法
@end
在类别时也可以增加新的变量。
但是扩展可以增加实例变量,也可以使用@property来合成属性;但是定义类的类别时,不允许定义额外的实例变量,也不能使用@property
实例如下:
#import<Foundation/Foundation.h>
@interface Car:NSObject
@property (nonatomic,copy)NSString* brand;
@property(nonatimic copy)NSString* model;
-(void) drive;
@end
#import "Car.h"
@interface Car()
@property(nonatomic,copy) NSString* color;
-(void) drive:(NSString*) name;
@end
#import :Car+drive.h"
@implementation Car
-(void) drive{};
@end
#import <Foundation/Foundation.h>
#import "FKCar+driver.h"
int main(int arg,char*argv[]){
@autoreleasepool{
Car* car=[[Car alloc] init];
car.brand=@"BMW";
car.model=@"a";
car.color=@"";
[car drive];
}
return 0;
}
相关文章推荐
- Objective-C与Runtime的那点事儿消息机制
- 理解 Objective-C Runtime
- 数组、字典(16.5.11)
- 读书总结之NSObject
- JavaScript之Object
- Swift和Objective-C的不同
- 数字对象、字符串(16.5.10)
- 对属性动画ObjectAnimator.ofObject方法的学习和理解
- [改善Java代码]建议采用的顺序是 List<T>、List<?>、List<Object>
- JavaScript—从数组的indexOf方法深入——Object的Property机制。
- Object类:品读API
- 深入Objective-C的动态特性
- Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id)等
- iOS NSObject 的 isa 属性的类型 Class
- 关于NSObject类的description方法和isEqual/==
- 调用短信接口,先var_dump()看数据类型是object需要json_decode(json_encode( $resp),true)转换成array
- Objective-C Associated Objects 的实现原理
- object-c中多态
- Objective-C改变push、pop动画为模态效果
- object-c中类的继承