Har*_*ani 2 objective-c mvvm viewmodel ios swift
在 Swift 项目中包含,
CartViewModel.swift
@objc public class CartViewModel: NSObject {
let apiService: APIService
var alertMessage: String? {
didSet {
self.showAlertClosure?()
}
}
var isShow: Bool = false {
didSet {
self.updateStatus?()
}
}
@objc public var dataCount: Int {
return models.count
}
}
Run Code Online (Sandbox Code Playgroud)
列表视图控制器.h
NS_ASSUME_NONNULL_BEGIN
@class CartViewModel;
@interface ListViewController : UIViewController
@property (nonatomic, strong) CartViewModel *viewModel;
@end
NS_ASSUME_NONNULL_END
Run Code Online (Sandbox Code Playgroud)
ListViewController.m
NSLog(@"%@", self.viewModel.dataCount);
Run Code Online (Sandbox Code Playgroud)
// 访问任何属性都会出现此错误
在前向类对象“CartViewModel”中找不到属性“dataCount”
如果您希望能够访问 Objective-C 类的实现文件中的类的属性,则需要导入该类的标头。简单地通过 do 向前声明类@class YourClass只会使类型本身可见,但不会公开其属性/方法。
由于 Swift 文件没有标头,因此您需要导入模块的 Swift 标头。
所以在你ListViewController.m做的
#import <YourModule/YourModule-Swift.h>
| 归档时间: |
|
| 查看次数: |
878 次 |
| 最近记录: |