協議和類名在Ojective-C對象初始化我寫道:在迅速
id <MyProtocol> object = [[NSClassFromString(@"aClassName") alloc] initWithObject:obj];
我想斯威夫特來寫這個。
有沒有做同樣的事情還是我脫離了語言範式?
編輯:
這是我的背景。 某處我有:
- (instancetype)initWithObject:(NSArray *)array andClassName:(NSString *)className {
self = [self initWithClassName:className];
if(self) {
_members = [[NSMutableArray alloc] init];
for(id obj in array) {
id <MyProtocol> object = [[NSClassFromString(className) alloc] initWithObject:obj];
[_members addObject:object];
};
}
return self;
}
你爲什麼使用'NSClassFromString'? Swift是一種強類型語言。你爲什麼要按名稱使用課程?請提供有關您的代碼的更多信息。 – Sulthan
我正在使用不知道其他應用程序類的構造類。我告訴這個類:「好了,現在你將用這個對象實例化,並且你將包含這種類型的對象,就像UITableView一樣,你可以通過給這個類註冊你的單元格 – Pierre
而不是給它起個名字這個類,你爲什麼不直接給它類('Class')?這可以很容易地轉換成Swift類型,或者它對泛型有很好的用處?沒有代碼,很難判斷。 – Sulthan