首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QuickDialog和NSFetchedResultsController用于UITableView

QuickDialog和NSFetchedResultsController用于UITableView
EN

Stack Overflow用户
提问于 2012-10-13 05:44:32
回答 1查看 497关注 0票数 0

我肯定这是个愚蠢的问题,但不幸的是,我和很多人一样,是个菜鸟(嗯,也许现在不那么容易了,哈哈……)。

不管怎样..。

我有一个现有的项目,其中包含一个通过我自己的类(MyListTableViewController)填充的MyListTableViewController。这个类当前子类的对象本质上设置了NSFetchedResultsController。

考虑到这一事实,我所读过的示例和文档始终表明需要对QuickDialogController进行子类化,以便访问QuickDialog特性,因为它基本上是在所有这些特性的核心部分子类UIViewController。

问题是,我不知道如何允许在同一个UITableView/实例中同时使用QuickDialogController和NSFetchedResultsController类.

NSFetchedResultsController之所以被子类化,是因为它充当UITableView的委托,还因为它监视所有UITableView事件等等。我确信大多数人都很清楚.问题是,我可以看到QuickDialogController也想充当UIView (我们的UITableView已经是子类)的基本委托。

所以,这让我的头脑觉得它会爆炸,因为我试图让这两个物体在同一个集合中很好地一起玩……

由于我的应用程序与核心数据紧密耦合,我需要这个功能,但我想要QuickDialog的力量和美丽。

那么-是否有一种方法可以将QuickDialogController子类化,然后将NSFetchedResultsController作为一种委托使用,反之亦然?

再次抱歉如果这是个愚蠢的问题..。还在学习但想做好这件事..。

示例(当前)用于UITableViewController的子类布局.

MyListTableViewController.h

代码语言:javascript
复制
#import <UIKit/UIKit.h>
#import "CoreDataTableViewController.h"

@interface MyListTableViewController : CoreDataTableViewController

CoreDataTableViewController.h

代码语言:javascript
复制
#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>

@interface CoreDataTableViewController : UITableViewController <NSFetchedResultsControllerDelegate>

@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic) BOOL suspendAutomaticTrackingOfChangesInManagedObjectContext;

-(void)performFetch;
@end

这里的另一个问题可能是:是否可以利用QuickDialog操作而不必对QuickDialogController进行子类化。如果是这样的话--这样做意味着什么?(最重要的是)是否有一个小的例子?我是否只需要为其中一个创建一个分配的实例?

我事先为我的问题可能暴露的无知道歉..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-13 17:39:00

你想做的事是不可能的。ObjC不允许多重继承,这就是您要做的事情。即使是这样,现在仍然存在核心datasource/委托和QuickDialog数据源/委托同时工作的问题。

您需要决定一种或另一种方式:1-要么从QuickDialog控制器继承,然后添加逻辑从CoreData获取数据并自己加载到根元素中(并且不使用CoreDataTableViewController)或者。2-从CoreDataTableViewController继承,并手动创建QuickDialogTableView及其类上的数据源/委托。

关于#2,QD不是为这种用法而创建的,IMHO。您最好使用选项1,将CoreData数据的加载移到外部类中,然后将其加载到根元素中。但是,如果您有数百行/数千行,我就不会使用QD。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12870347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档