尽管numberOfRowsInTableView为0,如何显示NSMutableArray?

时间:2018-10-06 16:51:03

标签: objective-c xcode nsmutablearray nstableview

我正在为MacOS开发一个应用程序。

场景:

我有一个FTP服务器,可以在其中检索一些记录。我正在使用WhiteRaccoon框架来处理FTP连接,获取等操作,Program calculator; Var N : integer ; Op : char; Begin Repeat Writeln('Enter a number : '); Readln(N); Writeln('Enter an operator : '); Readln(Op); Until ( Op = '='); 负责与服务器的连接并开始获取数据。 该应用程序有一个listDirectoryContents,已在NSMutableArray中正确初始化

这是我的ViewDidLoad的样子:

ViewDidLoad

ListDirectoryContents:

-(void)viewDidLoad {
  [super viewDidLoad];

  TableContents = [[NSMutableArray alloc]init];
  [self listDirectoryContents];
}

填充了TableView的位置:

-(void)listDirectoryContents{

   WRRequestListDirectory * listDir = [[WRRequestListDirectory alloc] init];
   listDir.delegate = self;
   listDir.path = @"/Public/Music";
   listDir.hostname = @"Some IP";
   listDir.username = @"Username";
   listDir.password = @"Password";
   [listDir start];
}

问题:

即使已填充表格:

-(void)requestCompleted:(WRRequest *) request{

//called after 'request' is completed successfully
NSLog(@"%@ completed!", request);

//we cast the request to list request
WRRequestListDirectory * listDir = (WRRequestListDirectory *)request;

//we print each of the files name
for (NSDictionary * file in listDir.filesInfo) {
    [TableContents addObject:[file objectForKey:(id)kCFFTPResourceName]];
 }
}

-(NSInteger)numberOfRowsInTableView:(NSTableView *)tableView{ return [TableContents count]; } 返回0。

我的猜测:

我认为可以在填充表之前调用TableView委托[TableContents count]

简单测试:

我在numberOfRowsInTableView内添加了代码[TableContents addObject:@"Hello"];,Hello在表视图中正确显示。但是,如果我在其他任何地方添加同一行,则不会。

0 个答案:

没有答案