1
다음 코드를 작성했으며 어떤 이유로 picerView에 ???? 배열 대신 표시해야합니다.이상한 문자열 텍스트가 UIPickerView 내용에 나타납니다.
배열이 헤더에 정의되었으며 dataSource가보기 컨트롤러로 설정되었습니다.
- (void)viewDidLoad
{
[super viewDidLoad];
arrayContext = [[NSMutableArray alloc] init];
[arrayContext addObject:@"is"];
[arrayContext addObject:@"wants"];
[arrayContext addObject:@"loves"];
[arrayContext addObject:@"hates"];
[arrayContext addObject:@"enjoyed"];
[arrayContext addObject:@"liked"];
[arrayContext addObject:@"likes"];
[pickerView selectRow:1 inComponent:0 animated:NO];
}
- (void)viewDidUnload
{
[textField release];
textField = nil;
[pickerView release];
pickerView = nil;
[arrayContext release];
arrayContext = nil;
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSMutableDictionary *plistDict = [NSMutableDictionary dictionaryWithContentsOfFile:@"/var/mobile/Library/Preferences/com.ScotDev.QuickComPrefs.plist"];
NSString *chosenContext = [NSString stringWithFormat:@"%@ ", [arrayContext objectAtIndex:row]];
[plistDict setValue:chosenContext forKey:@"Context"];
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return [arrayContext count];
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return [arrayContext objectAtIndex:row];
}
어떻게 해결할 수 있습니까? – user1222053
IB에서 dataSource를 연결하는 것과 같은 방법으로 delegate 프로퍼티를 연결하거나'viewDidLoad'에서'pickerView.delegate = self'를 사용할 수 있습니다. – NJones