【发布时间】:2014-11-18 02:59:50
【问题描述】:
我有一个带有自定义UITableViewCells 的UITableView,每个tableview 单元格都有一个UITextField。默认情况下,文本字段已经有一个用户可以编辑的标题。文本字段中的默认标题与NSFileManager 中的文件相关联,当用户完成文本字段编辑并点击“返回”时,将调用将文件名更改为用户输入内容的方法。这工作正常,但是当用户点击文本字段但不进行任何编辑然后点击“返回”以转到上一个视图控制器时,我收到来自 NSFileManager 的警告,说文件名已经存在。这不会导致任何问题,但它很烦人。我知道除非用户编辑文本字段,否则不应调用调用 NSFileManager 来更改文件名的方法,但我不确定实现这一点的最佳方法。
我看到了这篇文章,但不知道如何将它融入我正在做的事情中: UITextField text change event
我想知道是否有人可以给我一些关于如何完成这项工作的提示。
-(void) textFieldDidEndEditing:(UITextField *)textField
{
textField.delegate = self;
NSArray* cells = [self.audioTable visibleCells];
for (OSAudioTableCell* cell in cells)
{
if (textField == cell.textField)
{
NSInteger index = cell.tag;
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:index inSection:0];
Recording * recording = [self.fetchCon objectAtIndexPath:indexPath];
NSString * previousPath = recording.audioURL;
//I left a lot out, but this is where I call the method to change the file name
NSString * returnedURL = [self.managedDocument changeFileName:previousPath withNewComponent:textField.text error:&aError];
}
}
}
【问题讨论】:
标签: ios objective-c uitableview