这是我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
textBox = [[UITextField alloc] initWithFrame:CGRectMake(10, 50, 300, 40)];
[textBox setDelegate:self];
[self.view addSubview:textBox];
[textBox release];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(saveText) forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Save" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[self.view addSubview:button];
NSFileManager *filemgr;
NSString *dataFile;
NSString *docsDir;
NSArray *dirPaths;
filemgr = [NSFileManager defaultManager];
// Identify the documents directory
dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSLog(@"PATH---> %@",dirPaths);
docsDir = [dirPaths objectAtIndex:0];
// Build the path to the data file
dataFile = [docsDir stringByAppendingPathComponent: @"datafile.dat"];
// Check if the file already exists
if ([filemgr fileExistsAtPath: dataFile])
{
// Read file contents and display in textBox
NSData *databuffer;
databuffer = [filemgr contentsAtPath: dataFile];
NSString *datastring = [[NSString alloc] initWithData: databuffer encoding:NSASCIIStringEncoding];
textBox.text = datastring;
[datastring release];
}
[filemgr release];
[super viewDidLoad];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
- (void)saveText:(id)sender
{
NSLog(@"Text saved");
}
如果我尝试执行这个,我会得到一个错误,说
"2013-02-18 12:43:46.194 FileExample[1475:207]-[FileExampleViewController saveText]:无法识别的选择器发送到实例0x682e730"
我是iOS新手,无法识别、理解或首次出现此错误。
更改您的此行
[button addTarget:self action:@selector(saveText) forControlEvents:UIControlEventTouchUpInside];
用这个
[button addTarget:self action:@selector(saveText:) forControlEvents:UIControlEventTouchUpInside];
或
做这个
- (void)saveText // removed " :(id)sender "
{
NSLog(@"Text saved");
}