美文网首页
OC中属性的总结

OC中属性的总结

作者: 传说中的汽水枪 | 来源:发表于2018-11-14 14:54 被阅读10次

readonly & readwrite

配合使用,一般在.h文件中如下定义

@interface XXXXX
@property (readonly, nonatomic, assign) int age;
@end

而在.m中:

@interface XXXXX()
@property (readwrite, nonatomic, assign) int age;
@end
@implementation XXXXX
@end

这样就可以在.m中使用
self.age = 1;
这样的语句了。

类属性

关键词: class
.h文件中

@interface RXAFNTest3Object : NSObject
@property (nonatomic, assign, class) NSInteger value;
@end

.m文件中

static NSInteger s_Value = 0;
@implementation RXAFNTest3Object
+ (NSInteger)value {
    return s_Value;
}
+ (void)setValue:(NSInteger)value {
    s_Value = value;
}
@end

在分类中添加属性

@interface UIViewController (Mediator)
@property (nonatomic, copy) NSString *rx_string; 
@end
- (NSString *)rx_string {
    return objc_getAssociatedObject(self, @"rx_string");
}
- (void)setRx_string:(NSString *)rx_string {
    objc_setAssociatedObject(self, @"rx_string", rx_string, OBJC_ASSOCIATION_COPY);
}

在分类中添加weak属性

http://mrpeak.cn/blog/ios-weak/

- (void)setContext:(CDDContext*)object {
    id __weak weakObject = object;
    id (^block)() = ^{ return weakObject; };
    objc_setAssociatedObject(self, @selector(context), block, OBJC_ASSOCIATION_COPY);
}

- (CDDContext*)context {
    id (^block)() = objc_getAssociatedObject(self, @selector(context));
    id curContext = (block ? block() : nil);
    return curContext;
}

TODOAFN_M_2_K_5

相关文章

  • OC中属性的总结

    readonly & readwrite 配合使用,一般在.h文件中如下定义 而在.m中: 这样就可以在.m中使用...

  • OC中属性

    0x00 引用自禅与 Objective-C 编程艺术与刘亚芳博客 0x01 属性的定义 属性都声明:使用@pro...

  • OC的@property与Swift的存储属性/计算属性类比

    Swift中的计算属性/存储属性与OC中的@property   Swift中引入了存储属性、计算属性的概念,存储...

  • (十五) [Swift]Swift中的optional chai

    在oc中没有optional 的概念,一个对象可能有很多属性,每个属性都个能还有自己的属性。OC中可以连续调用没有...

  • AppleScript-record对象

    理解类似于OC中的字典,js中的对象 创建 获取属性the 属性名 of 对象 设置属性 获取属性数量

  • 小谈@property的特质

    熟悉OC的小伙伴都会经常用到property(属性),属性是OC语言的一种特性,主要作用是封装对象中的数据,OC对...

  • Swift 属性与下标

    swift中属性分为静态属性和存储属性,存储属性类似于OC中的数据成员,计算属性不存储数据 存储属性 存储属性适用...

  • 2018-04-01

    oc中对于类的属性声明和实现其getter和setter方法,oc 2.0中增加了属性声明,就是可以不用单独为每一...

  • 2018-04-01

    oc中对于类的属性声明和实现其getter和setter方法,oc 2.0中增加了属性声明,就是可以不用单独为每一...

  • 属性

    存储属性其实Swift中的存储属性就是以前学习OC中的普通属性, 在结构体或者类中定义的属性, 默认就是存储属性*...

网友评论

      本文标题:OC中属性的总结

      本文链接:https://www.haomeiwen.com/subject/kobdfqtx.html