如果你的標題是設置正確,因爲它的屬性:
-(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