如何在MVVM iOS中初始化ViewModel属性

时间:2014-10-20 09:20:05

标签: ios model-view-controller mvvm

基于一些R& D,我正在尝试为iOS实现MVVM。但是,无法初始化我的视图模型属性。

这是我的概率:

我的视图控制器:

在viewDidLoad中:

invViewModel = [[MVVMHomeInvViewModel alloc] init];

在“cellForRowAtIndexPath”中,其中一个自定义单元格

if(indexPath.row==2){...
   UILabel *categoryLabel = [[UILabel alloc]init];
   categoryLabel.text= invViewModel.categoryLabel;
   …
}

我的ViewModel:

.h:
@property (nonatomic,retain) NSString *categoryLabel;

.m:
@interface MVVMViewModel ()


// Private Access
@property (nonatomic, strong) MVVMModel *homeModel;
@end

@implementation MVVMHomeInvViewModel

- (instancetype)initWithHomeItems:(MVVMModel *)items{
    self = [super init];
    if (!self) return nil;
    _categoryLabel = @"Categories";

    return self;
}

@end

现在,标签“Catgeories”没有显示在我的模拟器中。!!

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我意识到自己的错。我的错!我没有在ViewModel中调用initilize方法 - initWithHomeItems,而只是尝试使用通用init方法访问它。

 homeInvCaptureViewModel = [[MVVMHomeInvViewModel alloc] initWithHomeItems];  

这解决了这个问题!