2015-09-09 59 views
0

上午使用Josh Smith's ObjectFactory在Swift中按名稱實例化類。但下面的代碼我嘗試了無法識別的選擇器中的結果。Swift:在無法識別的選擇器中使用對象工廠結果

if let survey = surveyFactory.createInstance(className: className, initializer: "initWithStyle", argument: textChoiceStyle!.rawValue , argument2: textChoices!) 

我傳遞的類名是ORKTextChoiceAnswerFormat並且將所得的OBJ C表達式我需要在夫特實現如下

ORKTextChoiceAnswerFormat *asd = [[ORKTextChoiceAnswerFormat alloc]initWithStyle:<#(ORKChoiceAnswerStyle)#> textChoices:<#(NSArray * __nonnull)#>]; 

但是我得到它在對象工廠方法

爲無法識別選擇
static id OBJCInitWithArg(id target, 
          SEL initializer, 
          id argument, id argument2) 
{ IMP imp = [target methodForSelector:initializer]; 
    id (*initFunc)(id, SEL, id, id) = (void *)imp; 
    return initFunc(target, initializer, argument, argument2); 
} 

我在控制檯中得到這個錯誤

[ORKTextChoiceAnswerFormat initWithStyle]: unrecognized selector sent to instance 

我在哪裏出錯了?

+0

您需要使用'initWithStyle:'。 – jtbandes

+0

我想還是一樣' - [ORKTextChoiceAnswerFormat initWithStyle:]:無法識別的選擇發送到實例0x7fe6c0dcb200' – KhanXc

+1

事實上,'initWithStyle:'不可用。你期望它做什麼?查看http://researchkit.org/docs/Classes/ORKTextChoiceAnswerFormat.html#//api/name/initWithStyle:textChoices: – jtbandes

回答

相關問題