Objc - 扩展 - TableView 委托
Objc - Extension - TableView Delegate
我正在尝试在一个小型 objc 项目中遵循 Viper 模式。我得到每个部分的不同角色,没有特别的问题。
但是,我有问题的部分是当我尝试将我的 tableview 的 delegate/datasource 移动到另一个文件时,因为我读到这是应该如何完成的。
我跟着 post: 但我无法编译。
这里的问题是我不知道如何在 Objc 中进行扩展。我尝试了很多语法,但其中 none 行得通。
我如何(通过示例)在 VIPER“MyViewController.m/h”和“MyTableViewController.m/h”中正确使用,其中“MyTableViewController”是“MyViewController”的扩展?
这意味着我们会在“MyViewController.h”中看到 <UITableViewDelegate>
。
非常感谢您的帮助。这可能是一个多余的问题,但对于我的扩展问题,我没有找到明确的答案(如果有的话)。
感谢上面评论中的@Kamil.S,我设法在苹果文档中找到了我想要的东西!
实际上,Objc 中的扩展称为“类别”。我几乎做了我在原始问题中链接的 post 上写的内容。
如果有人需要,这里有一个简化的例子:
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) id<ViewToPresenterProtocol> presenter;
@end
ViewController.m
#import "ViewController.h"
@implementation ViewController
// All my code, ViewDidLoad, and so on
@end
CollectionViewController.h
#import <UIKit/UIKit.h>
#import "ViewController.h"
@interface ViewController (CollectionViewController) <UICollectionViewDelegate, UICollectionViewDataSource>
@end
CollectionViewController.m
#import <UIKit/UIKit.h>
#import "CollectionViewController.h"
#import "ViewController.h"
@implementation ViewController (CollectionViewController)
- (NSInteger)collectionView:(nonnull UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return [self.presenter getNumberOfItems];
}
// ...
// Here add others functions for CollectionView Delegate/Datasource protocols
@end
我正在尝试在一个小型 objc 项目中遵循 Viper 模式。我得到每个部分的不同角色,没有特别的问题。
但是,我有问题的部分是当我尝试将我的 tableview 的 delegate/datasource 移动到另一个文件时,因为我读到这是应该如何完成的。
我跟着 post:
这里的问题是我不知道如何在 Objc 中进行扩展。我尝试了很多语法,但其中 none 行得通。
我如何(通过示例)在 VIPER“MyViewController.m/h”和“MyTableViewController.m/h”中正确使用,其中“MyTableViewController”是“MyViewController”的扩展?
这意味着我们会在“MyViewController.h”中看到 <UITableViewDelegate>
。
非常感谢您的帮助。这可能是一个多余的问题,但对于我的扩展问题,我没有找到明确的答案(如果有的话)。
感谢上面评论中的@Kamil.S,我设法在苹果文档中找到了我想要的东西! 实际上,Objc 中的扩展称为“类别”。我几乎做了我在原始问题中链接的 post 上写的内容。
如果有人需要,这里有一个简化的例子:
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) id<ViewToPresenterProtocol> presenter;
@end
ViewController.m
#import "ViewController.h"
@implementation ViewController
// All my code, ViewDidLoad, and so on
@end
CollectionViewController.h
#import <UIKit/UIKit.h>
#import "ViewController.h"
@interface ViewController (CollectionViewController) <UICollectionViewDelegate, UICollectionViewDataSource>
@end
CollectionViewController.m
#import <UIKit/UIKit.h>
#import "CollectionViewController.h"
#import "ViewController.h"
@implementation ViewController (CollectionViewController)
- (NSInteger)collectionView:(nonnull UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return [self.presenter getNumberOfItems];
}
// ...
// Here add others functions for CollectionView Delegate/Datasource protocols
@end