我想我的Dropbox文件加載到一個UITableView,但他們都沒有顯示出來。我完成了在dropbox.com上註冊我的應用程序並在我的應用程序中實施會話委託的每一步。這裏是我的代碼,任何人都可以告訴我它有什麼問題。林相當肯定,我宣佈一切正常,但我似乎無法找到問題。另外我知道它不是連接問題,因爲我添加了NSLog並記錄了這些文件。添加的Dropbox文件要UITableView的
#import <UIKit/UIKit.h>
#import <DropboxSDK/DropboxSDK.h>
@interface testViewController : UITableViewController <DBRestClientDelegate>
{
DBRestClient *restClient;
NSMutableArray *dropboxURLs;
}
@end
#import "testViewController.h"
@interface testViewController()
@end
@implementation testViewController
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (DBRestClient *)restClient {
if (!restClient) {
restClient =
[[DBRestClient alloc] initWithSession:[DBSession sharedSession]];
restClient.delegate = self;
}
return restClient;
}
- (void)viewDidLoad
{
[super viewDidLoad];
dropboxURLs = [[NSMutableArray alloc] init];
[[self restClient] loadMetadata:@"/"];
}
- (void)restClient:(DBRestClient *)client loadedMetadata:(DBMetadata *)metadata {
if (metadata.isDirectory) {
for (DBMetadata *file in metadata.contents) {
if (!file.isDirectory)
{
NSLog(@"%@", file.filename);
[dropboxURLs addObject:file.filename];
}
}
}
}
- (void)restClient:(DBRestClient *)client
loadMetadataFailedWithError:(NSError *)error {
NSLog(@"Error loading metadata: %@", error);
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return dropboxURLs.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"FileCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = [dropboxURLs objectAtIndex:indexPath.row];
return cell;
}
@end
你說你記錄的文件 - 你在哪裏呢?您是否記錄了dropBoxURLs以查看它是否有任何內容?從你的錯誤消息看來,你的數組是空的。 – rdelmar 2012-08-19 15:37:58
@rdelmar您好我登錄之前,我將他們添加到在陣列中的文件:的NSLog(@「%@」,file.filename); [dropboxURLs addObject:file.filename]; – Cristian 2012-08-22 01:21:14
嘗試登錄dropboxURLs.count在numberOfRowsInSection方法,看看它返回 – rdelmar 2012-08-22 01:38:33