【问题标题】:Add property runtime in Objective c [duplicate]在Objective c中添加属性运行时[重复]
【发布时间】:2014-08-29 13:36:29
【问题描述】:

如何在运行时添加属性,sampleItem 是我的项目类,我正在展示 .h 和 .m 文件。它有两个属性,但我想在运行时再添加一个属性。

sampleItem.h  
@interface sampleItem : NSObject
@property (strong,nonatomic) NSString *name;
@property (nonatomic)  NSString *city;

- (id) initToDefaults;
@end


sampleItem.m
- (id) initToDefaults
{
self. name = @"";
self.city = @" ";
}

我在我的项目中使用具有两个属性的上述项目类。这是一个在我的项目中用作实体的类。现在我的问题是想在运行时再添加一个属性。

谁能解决我的问题。

【问题讨论】:

标签: ios7


【解决方案1】:

您可以在运行时或动态添加更多属性有一些限制

但作为替代方案,您可以使用NSMutableDictionary 作为存储,并在此处以动态保存任意数量的对象为例。

// sampleItem.h  

@interface sampleItem : NSObject

@property (strong, nonatomic) NSMutableDictionary *store;

@end

并保存为:

[store setObject:@"Your name" forKey@"nameKey"];
[store setObject:@"Your city" forKey@"cityKey"];

像这样检索:

NSString *name = [store objectForKey:@"nameKey"];
NSString *city = [store objectForKey:@"cityKey"];

但一定要像这样启动商店:

_store = [NSMutableDictionary new];

使用前。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    • 2011-08-08
    • 2012-11-18
    • 2012-09-16
    • 2012-05-25
    • 2013-01-21
    相关资源
    最近更新 更多