我在做这个时有一个奇怪的问题
NSLog(@"%@", [self.pat stringByAppendingPathComponent:[tableView cellForRowAtIndexPath:indexPath].textLabel.text]);
记录此
/var/mobile/Applications/C6E7B405-5A68-4729-AFA9-910E17AFE825/Documents/Downloads
这是self.pat
是什么,没有附加字符串。这是在我的tableView:cellForRow:atIndexPath:
方法中,并且在我执行此操作之前正在设置表格视图单元格的文本,并且正确显示。 self.pat
被声明为@property (strong, nonatomic) NSString *pat
,我像这样设置单元格的文本
cell.textLabel.text = [files objectAtIndex:indexPath.row];
我在self.pat
和viewDidAppear:animated:
设置了viewDidLoad:
。
答案 0 :(得分:0)
您需要做的第一件事是在此处尝试使用它的上下文中获取[tableView cellForRowAtIndexPath:indexPath]
的值。我的猜测是nil
(因为tableView
或indexPath
是nil
)。
<强>更新强>
正如maddy在评论中指出的那样,不能将nil
传递给-stringByAppendingPathComponent:
,因为它会引发异常。而且我认为我们需要了解-cellForRowAtIndexPath:
中发生的事情才能真正了解这一点。
但是,真的,更令人不安的是你从视图中获取数据。在MVC设计中,您的所有数据都应来自模型。实际上,您应该从用于填充单元格的相同模型中获取值,而不是使用单元格标签的内容生成此路径。
答案 1 :(得分:0)
测试后
[self.pat stringByAppendingPathComponent:[files objectAtIndex:indexPath.row];
它有效,所以我猜textbabel没有设置得足够快。