2014-08-29 74 views
-2

如何在运行时添加属性,sampleItem是我的项目类,我提供.h和.m文件。它有两个属性,但我想在运行时添加一个属性。在Objective c中添加属性运行时

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 = @" "; 
} 

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

任何机构都可以解决我的问题。

+1

[使用Google伤害?](https://www.google.hu/search?q=objective-c+add+property+at+run+time)我的意思是,**前两个**命中都堆栈溢出回答这个问题... – 2014-08-29 13:44:17

回答

0

您可以在运行时或在飞行中添加更多属性与一些限制

但作为一种替代方案,您可以使用NSMutableDictionary作为商店,并在此处以任何数量的对象为例。

// sampleItem.h 

@interface sampleItem : NSObject 

@property (strong, nonatomic) NSMutableDictionary *store; 

@end 

并保存,如:

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

retrive像:

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

但一定要开始像店:

_store = [NSMutableDictionary new]; 

使用之前。

相关问题