所以我试着用UITableView写一些东西,然后分成UITextview。
在UITextview中有一个用于清除文本的按钮。 我有两个问题。
现在我得到一个错误
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<textViewController 0x6e69760> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key clearButton.'
断点表示当在didSelectRowAtIndexPath中调用performSegue时抛出此内容
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"segueIdentifier" sender:self];
}
这里
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if( [segue.identifier isEqualToString:@"fileSelected"]){
textViewController *nextViewController = segue.destinationViewController ;
nextViewController.title = @"newView";
[nextViewController setText:[[NSString alloc] initWithData:[self readFromFile:@"textfile.txt"] encoding:NSUTF8StringEncoding]];
}
}
还有。我试图使用从文件系统中的文件读取的数据设置textview文本 继承读写功能,这是无效的......
-(NSData*) readFromFile:(NSString *)filename{
NSString* content = @"";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory, filename];
content = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
return [content dataUsingEncoding:NSUTF8StringEncoding];
}
-(void) saveToFile:(NSString *)filename withData:(NSData *)data{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@"%@/%@",documentsDirectory,filename];
[data writeToFile:filePath atomically:YES];
}
我在segue期间做错了什么,导致异常?如果你需要任何其他代码,那么就把它放好。
提前致谢
答案 0 :(得分:0)
检查您是否有一个名为“segueIdentifier”的segue。那将是第一步。
答案 1 :(得分:0)
这个问题出现在 之后是由于视图和控制器之间连接断开造成的:
(下面的一个坏了)
您只需删除连接并重新添加即可。