如果你的标题是设置正确,因为它的属性:
-(DataModel *)createDataModel:(NSString *)dataModel_name {
DataModel *model = [[DataModel alloc] init];
model.title = dataModel_name;
return model;
}
这就需要在您的datamodel.h:
@interface DataModel {
NSString *title;
}
@property (nonatomic, retain) NSString *title;
@end
而且在您的m:
@implementation DataModel
@synthesize title;
@end
但是你的问题不清楚,如果y我们的真正目的是尝试基于dataModel_name实例化不同的类,或者如果您只有一个具有应该设置为dataModel_name的标题的泛型类。
根据你想要做什么,有不同的答案。如果你真的想要基于名称的不同类,那么你应该做不同的事情。您可以使用Cocoa特定类型:id来返回方法中的任何对象。接着,方法,NSClassFromString()创建的对象:
- (id)createDataModel:(NSString *)dataModel_name {
id model = [[NSClassFromString(dataModel_name) alloc] init];
[model setTitle:dataModel_name];
return model;
}
,也可以定义声明数据模型的功能协议(在Java中的说法接口)。相反,你的方法会返回。
我可以在Java中完成它,但我现在正在为iPhone开发,我仍然试图解决Obj-C的所有细节...... – FnGreg7 2010-06-03 16:49:35
然后,也许你可以添加Java代码来使它更清楚..有人可以为你做一个基本的翻译。这可能会有所帮助 - 问题不那么清楚。在Objc中,您无法在运行时真正创建新的类。即使你设法,他们也没有头衔。 – hooleyhoop 2010-06-03 16:52:55
你能解释一下你想做什么吗?你是否试图在运行时动态地定义一个新的类? – 2010-06-03 16:52:56