0
에 나는이 가지고선택기는 NSString에 UITextField에
AddSightingViewController.m을
#import "AddSightingViewController.h"
#import "MovieSighting.h"
@interface AddSightingViewController()
@property (strong, nonatomic) NSArray *array;
@property (strong, nonatomic) UITextField *genero;
@end
@implementation AddSightingViewController
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if ((textField == self.movieTitleInput) || (textField == self.estrenoInput) || (textField == self.directorInput)) {
[textField resignFirstResponder];
}
return YES;
}
- (void)viewDidLoad
{
[super viewDidLoad];
NSArray *generos = [[NSArray alloc] initWithObjects:@"Drama",@"Fantástico",@"Aventuras",@"Policíaco",@"Romántica",@"Comedia",@"Documental",@"Terror", nil];
self.array = generos;
}
#pragma mark Picker Data Source Methods
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return [_array count];
}
#pragma mark Picker Delegate Methods
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
return [_array objectAtIndex:row];
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
NSString *generoInput = [self.array objectAtIndex:row];
}
//
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"ReturnInput"]) {
if ([self.movieTitleInput.text length] || [self.directorInput.text length]|| [self.estrenoInput.text length])
{
MovieSighting *sighting;
NSUInteger *valor = (NSUInteger *)[[self.estrenoInput text] integerValue];
sighting = [[MovieSighting alloc] initWithName:self.movieTitleInput.text anyo:valor genero: director:self.directorInput.text];
self.movieSighting = sighting;
}
}
}
@end
어떻게
NSString *generoInput = [self.array objectAtIndex:row];
내가 만든 속성의 UITextField로 변환하려면 : 내가 사용
@property (strong, nonatomic) UITextField *genero;
을 그리고 마지막 방법 목격와 것을 사용합니까? 그런 다음이 메서드를 사용하여 textFieldShouldReturn 메서드를 비교할 수 있습니다.
I've는 그 일을 한 :
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
NSString *generoInput = [self.array objectAtIndex:row];
UITextField *nuevo = (UITextField*)[generoInput capitalizedString];
_genero = nuevo;
}
그리고 prepareForSegue 방법 :
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"ReturnInput"]) {
if ([self.movieTitleInput.text length] || [self.directorInput.text length]|| [self.estrenoInput.text length]
|| [self.genero.text length])
{
MovieSighting *sighting;
NSUInteger *valor = (NSUInteger *)[[self.estrenoInput text] integerValue];
sighting = [[MovieSighting alloc] initWithName:self.movieTitleInput.text anyo:valor genero:self.genero.text director:self.directorInput.text];
self.movieSighting = sighting;
}
}
}
그러나하지는 작업 응용 프로그램 ... 어떤 생각? 내가 추가에 다른 영화와 카릭을 추가하면 는 :
은 등장 :
오류 코드 :
2013-12-19 21:43:19.875 MovieWatching[920:70b] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<AddSightingViewController 0x8a63190> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key staticDataSource.'
무엇을 작동하지 않습니다 ? 구체적으로 말하십시오. – rmaddy