【发布时间】:2017-11-29 03:44:10
【问题描述】:
我有这样的代码。
else if ([controlIn isKindOfClass:UITextField.class]) {
UITextField *cast = (UITextField *)controlIn;
if (cast.inputView != NULL) {
cast.text = [self setResolvedValue:cast metrixUIViewControllerIn:metrixUIViewControllerIn valueIn:valueIn];
} else {
cast.text = valueIn;
}
但是在这个if (cast.inputView != NULL) 行中我遇到了一个异常
“[NSPlaceholderMutableString initWithString:]: 无参数”
我的cast 不是零。但是出现此错误的原因是什么。请帮我。
谢谢
更新
+ (NSString*) setResolvedValue:(UIView *)viewIn metrixUIViewControllerIn:(MetrixUIViewController *)metrixUIViewControllerIn valueIn:(NSString *)valueIn {
NSMutableString *resolvedValue = [NSMutableString stringWithString:valueIn];
if (![MetrixStringHelper isNullOrEmpty:valueIn] && [viewIn.inputView isKindOfClass:[UIPickerView class]]) {
MetrixColumnDef *columnDef = [MetrixControlAssistant getColumnDefAssociatedToPicker:metrixUIViewControllerIn picker:(UIPickerView *)viewIn.inputView];
NSString *uniqueName = [MetrixControlAssistant getUniqueNameAssociatedToPicker:metrixUIViewControllerIn picker:(UIPickerView *)viewIn.inputView];
NSMutableArray *dataSet = [metrixUIViewControllerIn.pickerData objectForKey:uniqueName];
for (NSDictionary *dictionary in dataSet) {
if ([MetrixStringHelper value:valueIn isEqualTo:[dictionary objectForKey:columnDef.lookupDef.valueColumn]]) {
resolvedValue = [dictionary objectForKey:columnDef.lookupDef.displayColumn];
break;
}
}
}
return resolvedValue;
}
【问题讨论】:
-
让我们尝试通过
if (cast.inputView)而不是if (cast.inputView != NULL)进行检查 -
@trungduc 还是一样 :(
-
你能显示
setResolvedValue方法吗? -
@trungduc 我用那部分更新了问题。但这甚至不在 if 语句中。它跳转到条件行上的异常。
标签: ios objective-c uitextfield