저는 Objective C 및 Xcode 신참자이며 한 번에 한 단계 씩 배우려고합니다. 며칠 동안 특정 문제에 대한 내 머리를 긁적이고 해결책을 찾는 데 어려움을 겪고 있습니다. 피커를 채우기 위해 사전을 사용하는 UIPickerVIew 앱을 만들고 있습니다. arrayStates는 왼쪽 구성 요소로 들어가는 상태이고 arrayCities는 State의 키인 해당 상태에있는 도시입니다. 도시는 올바른 구성 요소로 이동합니다. 문제가 코드 블록으로 좁혀 졌다고 생각합니다. 선택기가 충돌하는 값으로 채울 때입니다. 이 코드 블록을 주석 처리 할 수 있으며 선택기에서 텍스트로 물음표가있는 경우에만 실행됩니다. 이 오류를 얻을 :UIPickerView NSInvalidArgumentException ', [reason :'- [__ NSCFString superview] : 인스턴스로 보낸 인식 할 수없는 선택자
다음-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent: (NSInteger)component reusingView:(UIView *)view {
if (component == 0) {
return [arrayStates objectAtIndex:row];
}
else {
UILabel *lblCity=[[UILabel alloc] initWithFrame:CGRectMake(5,0,220,50)];
lblCity.text= [arrayCities objectAtIndex:row];
lblCity.backgroundColor = [UIColor clearColor];
lblCity.font = [UIFont boldSystemFontOfSize:18];
return lblCity;
}
}
내가 내 코드를 변경하고 큰 실행중인 것입니다 :
여기NSInvalidArgumentException', reason: '-[__NSCFString superview]: unrecognized selector sent to instance
이 오류의 원인이 내하는 .m 파일에서 코드의 블록입니다! 빠르고 정확한 답변 주셔서 감사합니다 !!
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
if (component == 0)
{
return [arrayStates objectAtIndex:row];
}
else
{
return [arrayCities objectAtIndex:row];
}
}
굉장! 너 돈 맞았 어. 정말 고맙습니다! 내 업데이트 된 코드를 게시하고 실행 중입니다! – hansoac