从另一个类调用的方法不会';t返回在iOS(MVC)中应该返回的值

从另一个类调用的方法不会';t返回在iOS(MVC)中应该返回的值,ios,objective-c,method-call,Ios,Objective C,Method Call,我已经在我的项目中实现了MVC。在模型中,我有一个类DBHandler,其中包含下面的方法,该方法假定返回我保存的项目的名称 - (NSMutableArray *) displayAllItems { NSString* selectAllResume = [NSString stringWithFormat:@"select * from Items"]; sqlite3_stmt* selectStatement = (sqlite3_stmt *)[self getStatement:s

我已经在我的项目中实现了MVC。在模型中,我有一个类DBHandler,其中包含下面的方法,该方法假定返回我保存的项目的名称

- (NSMutableArray *) displayAllItems
{
NSString* selectAllResume = [NSString stringWithFormat:@"select * from Items"];
sqlite3_stmt* selectStatement = (sqlite3_stmt *)[self getStatement:selectAllResume];
while(sqlite3_step(selectStatement) == SQLITE_ROW)
{
@try {
    ResumeDC *resume = [[ResumeDC alloc] init];
    NSString *result_output = @"";
int numberOfCoulmns = 1;
    for (int  a=0; a<numberOfCoulmns; a++)
    {


      resume.resumeName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectStatement, a)];
        NSString *formatout = [NSString stringWithFormat:@"%@", resume.resumeName];
        result_output = [result_output stringByAppendingString: formatout];
    }

    [dataList addObject:result_output]; // the value in the datalist is empty later on.

}
@catch (NSException *exception) {
    NSLog(@"We were unable to find the files.");
}
return dataList;
   }
}
这就是我在表格中显示它的方式(只是提供它,否则下面的代码就是完美的)


但是当它在课堂外被调用时,我从displayAllItems中得不到任何回报。

答案应该是被问到的内容。我询问了人们关于方法调用的问题,但没有得到一个答案。我代码中的错误是方法调用,正如我已经提到的。下面是正确操作的代码

mydataList= [dbHandler displayAllResumes]; // mydataList is an NSMutableArray.
numberOfRows = [mydataList count];
[tvMine reloadData];

现在一切都很顺利。感谢您的帮助://

它返回了什么价值?Nil?你不这么认为吗?写这个
返回数据列表语句在
while循环之外
。还要检查您是否初始化了数据列表。@YogeshSuthar,宿命论者是一个NSArray,因此它包含值,但是当在类外调用它时,它里面没有任何内容。我只是在从另一个类访问它时遇到问题。@jrturton,在类内部,它给出了它应该返回的值,比如ItemsXYZ,但是当我从类外部调用它时,dataList是空的。检查我的方法调用是否正常?谢谢。@ejazdogar
dataList
应该是
NSMutableArray
而不是
NSArray
。而且它应该被初始化。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifier"];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyIdentifier"];
    }
    if ([mydataList count] > 0) {
        cell.textLabel.text = [mydataList objectAtIndex:indexPath.row];
    }
    return cell;
}
mydataList= [dbHandler displayAllResumes]; // mydataList is an NSMutableArray.
numberOfRows = [mydataList count];
[tvMine reloadData];