NSArray *filePathsArray;-(NSInteger)numberOfSectionsIntableVIEw:(UItableVIEw *)tableVIEw{ return 1;}-(NSInteger)tableVIEw:(UItableVIEw *)tableVIEw numberOfRowsInSection:(NSInteger)section{ return [filePathsArray count]; }-(UItableVIEwCell *)tableVIEw:(UItableVIEw *)tableVIEw cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UItableVIEwCell *cell = [tableVIEw dequeueReusableCellWithIDentifIEr:@"MainCell"]; if (cell == nil) { cell = [[UItableVIEwCell alloc]initWithStyle:UItableVIEwCellStyleDefault reuseIDentifIEr:@"MainCell"]; } NSArray *paths = NSSearchPathForDirectorIEsInDomains(NSdocumentDirectory,NSUserDomainMask,YES); Nsstring *documentsDirectory = [paths objectAtIndex:0]; filePathsArray = [[NSfileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil]; cell.textLabel.text = [documentsDirectory stringByAppendingPathComponent:[filePathsArray objectAtIndex:indexPath.row]]; return cell; }解决方法 在你的代码中,你正在使用cellForRowAtIndexPath:填充数组,显然
– (NSInteger)tableVIEw:(UItableVIEw *)tableVIEw numberOfRowsInSection:(NSInteger)section
在cellForRowAtIndexPath之前调用.因此,您需要在重新加载表视图之前初始化数组的内容.将以下行放在VIEwDIDLoad或vIEwWillAppear中:
NSArray *paths = NSSearchPathForDirectorIEsInDomains(NSdocumentDirectory,YES);Nsstring *documentsDirectory = [paths objectAtIndex:0];filePathsArray = [[NSfileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil];
你应该像以下一样处理:
06001
请注意,当没有文件或加载数据时,我返回1,您可以在该单元格中显示“正在加载数据…”或“找不到记录”之类的消息.确保将该单元的userInteractionEnabled设置为NO,否则如果逻辑未正确实现,则可能导致不一致.
总结以上是内存溢出为你收集整理的ios – Objective-C:如何将文档目录中的文件列入UITableView?全部内容,希望文章能够帮你解决ios – Objective-C:如何将文档目录中的文件列入UITableView?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)