#import "BaseModel.h"@class NewsResultModel,NewsResultHeadlineinfoModel,NewsResultHeadTopnewsinfoModel,NewsResultFoucsimgModel,NewsResultNewslistModel;
@interface NewsResultNewslistModel : NewsResultHeadlineinfoModel@property(nonatomic,strong)NSNumber *anewstype;
@property(nonatomic,strong)NSNumber *dbid;@property(nonatomic,strong)NSString *intacttime;用的MVVM,上面是属于MODEL层的,json解析完后得到NewsResultNewslistModel类型的数据
下面是ViewModel层的代码#import "BaseViewModel.h"
@property(nonatomic,strong)NSMutableArray * dataArr;#import "LastestViewModel.h"
@implementation LastestViewModel这个方法是要得到TableView中每一行对应的数据,但是不明白这个方法只有一个return 怎么实现的?
-(NewsResultNewslistModel *)newsListModelForRow:(NSInteger)row{
    
    return self.dataArr[row];   主要是这里不明白,在LastestViewMode.m文件中定义了这样一个方法,self.dataArr[row]怎么就成为了NewsResultNewslistModel类型的返回值了??
    }小白一枚,也不知说清楚了没有,想了好长时间没想明白

解决方案 »

  1.   

    dataArr是个数组,里面存放的就是多个NewsResultNewslistModel对象
    -(NewsResultNewslistModel *)newsListModelForRow:(NSInteger)row这个方法会传入一个整型的参数row,并且返会一个NewsResultNewslistModel对象.
    self.dataArr[row];就是从数组中取出第row个对象,因为数组里面存放的全部都是NewsResultNewslistModel对象,所以直接返会就行了
      

  2.   

    非常感谢前辈,等了一天,也琢磨了一天,准备把数组再重新过一遍,其实还是有点不明白dataArr是个数组,里面存放的就是多个NewsResultNewslistModel对象 就是这句不明白,之前只是声明了dataArr是个可变数组,没有指定什么类型的,没有添加过NewsResultNewslistModel对象,怎么dataArr里面就有了NewsResultNewslistModel对象,这是怎么实现的?其他的都懂了有些犯轴了,但是拗不过这个劲来,总是想弄明白,昨天想的是不是跟运行时也有一点关系,这个方法只有在运行的时候才知道是哪个对象调用了这个方法,然后这个self是谁又弄晕了,晕死
      

  3.   

    数组里面可以存放任意类型的对象,你放什么就是什么,不用指定类型
    你仔细检查一下代码,一定有地方往dataArr中插入数据,不一定是在这个类里完成,如果dataArr是外部可以访问的属性有可能是在其他地方插入数据的
    self你可以简单的理解为就是当前对象就好了
      

  4.   

      爱死版主了,太感谢!!!! 因为引入了很多第三方框架,怀疑是在第三方框架中完成的,准备再把demo重新再写一遍最后,太谢谢您了
      

  5.   

    因为你定义返回的就是NewsResultNewslistModel