@H_419_8@
@H_419_8@
@interface MyObject : NSObject@property (Readonly,strong,nonatomic) NSDictionary *JsONData;@end
但是,我需要它从实现文件中读取和可变,像这样,但这不起作用:@H_419_8@
@H_419_8@
@interface MyObject ()@property (reaDWrite,nonatomic) NSMutableDictionary *JsONData;@end@implementation MyObject// Do read/write stuff here.@end
我有什么办法可以强制执行我想要的那种抽象吗?我查看了其他问题,虽然我已经知道如何从.h读取属性并从.m读取,但我找不到任何关于可变性差异的信息.@H_419_8@解决方法 您的实现中需要一个单独的私有可变变量.您可以覆盖getter以返回不可变对象.
@H_419_8@
@H_419_8@
@interface MyObject () { NSMutableDictionary *_mutableJsONData;}@end@implementation MyObject // ...-(NSDictionary *)JsONData { return [NSDictionary dictionaryWithDictionary:_mutableJsONData];}// ...@end
不需要实现setter,因为它只是Readonly.@H_419_8@ 总结
以上是内存溢出为你收集整理的ios – 如何在头文件(.h)中创建一个不可变的只读属性,一个实现的可变读写属性(.m)全部内容,希望文章能够帮你解决ios – 如何在头文件(.h)中创建一个不可变的只读属性,一个实现的可变读写属性(.m)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)