基于一些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”没有显示在我的模拟器中。!!
感谢您的帮助!
答案 0 :(得分:0)
我意识到自己的错。我的错!我没有在ViewModel中调用initilize方法 - initWithHomeItems,而只是尝试使用通用init方法访问它。
homeInvCaptureViewModel = [[MVVMHomeInvViewModel alloc] initWithHomeItems];
这解决了这个问题!