FileTable.m
上传用户:tongli126
上传日期:2016-06-25
资源大小:4k
文件大小:2k
源码类别:

iPhone

开发平台:

Objective-C

  1. #import "FileTable.h"
  2. #import <CoreFoundation/CoreFoundation.h>
  3. #import <UIKit/UITableColumn.h>
  4. #import <UIKit/UIImageAndTextTableCell.h>
  5. @implementation FileTable
  6. - (void) listFiles
  7. {
  8. NSLog(@"listFiles");
  9. // release previous items
  10. int i;
  11. for (i = 0; i < [list count]; i++) {
  12.   [[list objectAtIndex:i] release];
  13. }
  14. [list removeAllObjects];
  15. [table reloadData];
  16. NSString *file;
  17. NSArray* files = [[NSFileManager defaultManager] directoryContentsAtPath:path];
  18.     NSEnumerator *dirEnum = [files objectEnumerator];
  19. while ((file = [dirEnum nextObject])) {
  20. UIImageAndTextTableCell* pbCell = [[UIImageAndTextTableCell alloc] init];
  21. [pbCell setTitle: file]; 
  22. [list addObject: pbCell];
  23. }
  24.     [table reloadData];
  25. NSLog(@"listFiles done");
  26. }
  27. - (id) initWithTable: (UITable*)uitable
  28. {
  29. // TODO: dealloc
  30.     list = [[NSMutableArray alloc] initWithCapacity:30];
  31. table = uitable;
  32. path = @"/";
  33.     UITableColumn *col = [[UITableColumn alloc] initWithTitle: @"HelloApp"
  34.         identifier: @"hello" width: 320.0f];
  35.     [table addTableColumn: col];
  36.     [table setDataSource: self];
  37.     [table setDelegate: self];
  38. [self listFiles];
  39. return self;
  40. }
  41. - (int) numberOfRowsInTable: (UITable *)table
  42. {
  43.     NSLog(@"count:%d", [list count]);
  44.     return [list count];
  45. }
  46. - (UITableCell *) table: (UITable *)table cellForRow: (int)row column: (int)col
  47. {
  48.     NSLog(@"cellForRow %d (%d)", row, [list count]);
  49.     return [list objectAtIndex:row];
  50. }
  51. - (void)tableSelectionDidChange:(id)fp8;        // IMP=0x3241e474
  52. {
  53.     UIImageAndTextTableCell* cell = [list objectAtIndex:[table selectedRow]];
  54.     [cell setSelected:NO];
  55.   
  56.     NSLog(@"tableSelectionDidChange: %@", [cell title]);
  57.     NSLog(@"current path: %@", path);
  58.     path = [[NSString stringWithString:[path stringByAppendingPathComponent:[cell title]]] retain];
  59.     [self listFiles];
  60.     NSLog(@"done: %@", path);
  61. }
  62. @end