问题标签 [delegation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3117 浏览

oop - 什么是委托?我什么时候想使用它?

在 OOP 中,提到了一个术语委托。这是如何在课堂上建模的?我在 yahoo 等上进行了搜索,但得到了代表的链接。

0 投票
1 回答
906 浏览

winapi - 使用 ODBC 驱动程序在服务中实现 kerberos 委派

我正在尝试扩展我编写的 Windows 服务以接受来自客户端的 kerberos 票证,然后将该票证委托给 ODBC 驱动程序,以便它可以使用它连接到另一台服务器。

ODBC 驱动程序在独立场景中与 kerberos 身份验证配合使用。也就是说,它可以很好地为当前用户请求和转发票证。但在我的服务中,我可能同时与多个用户打交道。如何接受票证,以便当我连接到 ODBC 驱动程序时,它会发现并使用正确的用户票证​​?

我能想到的一种可能性是通过使用票证作为所需用户创建一个新进程。但是,如果可能的话,我真的很想避免这种情况,因为它不适合我的服务的当前架构。

(注意:我的服务是用 Win32 api 用 C/C++ 编写的)

0 投票
2 回答
435 浏览

iphone - iPhone - 线程和委托

我在后台线程中运行一些代码以从服务中获取文本文件。该代码在某些时候会触发一个委托。一旦调用了委托,它就会抛出 SIGABRT 错误,而且我的概念听起来也不令人信服。

在后台线程运行的代码:

storesList一旦从服务中提取了所有商店,该对象将触发一个委托。委托被主线程中的函数捕获。

你有什么建议我做错了什么吗?

谢谢,

F。

0 投票
4 回答
2434 浏览

objective-c - NSThread 中的 NSUrlConnection - 没有执行委托!

我在 NSThread 中使用 NSURLConnection,但没有执行 NSURLConnection 的委托方法!我的 NSTread 子类中有一个 main 方法和一个保持线程处于活动状态的 while 循环。有什么帮助吗?

很抱歉所有这些代码,但我认为这是描述我的问题的最佳方式。所以这是一个执行异步连接调用的对象createConnectionWithPath:userObjectReference

这段代码主要来自苹果的示例项目,它在 NSThread 之外运行良好。但是当我在下面的线程子类中使用它时,没有执行委托方法!

0 投票
1 回答
715 浏览

iphone - iPhone:如何重新加载 tableView 并从 AppDelegate 推送 detailView?

我的应用是基于导航的。其中我有一个主 tableView,它显示单元格中的提要项目。单击单元格时,会创建一个详细视图,其中显示该提要项目的详细信息。我现在正在处理推送通知。单击通知中的操作按钮时,

叫做。如果单击通知中的操作按钮,我如何实现该方法。它应该再次解析提要,重新加载表格视图,创建最新的提要项目详细视图并将其推送到导航堆栈中。我尝试了一些代码,但没有用。这是我写的代码。

在 AppDelegate 中:

在 RootViewController 中:

但活动指示器没有出现,tableView 也没有重新加载。为什么会这样?提前感谢

0 投票
2 回答
4727 浏览

objective-c - 目标C:使用委托调用父类中的函数

我正在创建一个 3 层导航弹出控制器,在第三个弹出控制器上我有一个委托方法来访问父类中的 dismissPopup 方法。我似乎无法调用它,我在父类的函数中的 NSLog 消息甚至没有显示,所以我一定是使用了错误的委托或者我错误地调用了它。

3 个类 ParentViewController 有一个带有按钮的工具栏,该按钮可以调出表格视图 --> RegionViewController 是第一个带有项目的表格视图控制器 --> ConusViewController 是推到导航堆栈上的第二个表格视图控制器。我正在尝试在单击选择后使用委托调用父方法中的方法dismissPopover,以便整个弹出框消失。

在 ConusViewController 中,如果委托有效,我会从父类中的函数中看到“已访问方法”。它没有显示,所以我必须使用错误的委托。

对不起,我的帖子这么罗嗦,我想在这里完成我想要做的事情。谢谢。

父视图控制器.h

父视图控制器.m

区域视图控制器.m

ConusViewController.h

ConusViewController.m

0 投票
1 回答
275 浏览

objective-c - Objective-C 中的消息流

有没有人有一个很好的参考资料,它真正概述了类、子类等之间的整个“消息流”是如何在 Objective-C 中工作的?它似乎对 Mac 世界中的编程环境架构非常重要,并且对理解非常有帮助。

0 投票
3 回答
616 浏览

iphone - 作为 NSURLConnection 的委托的对象委托的问题

我有一个类 PictureDownloader 用于从服务器异步加载图像。它将自己指定为 NSURLConnection 的委托,因此由 NSURLConnection 保留。我在 DetailViewController 中创建了几个 PictureDownloader 来获取相应的图像,因此 DetailViewController 是每个 PictureDownloader 的委托。当用户离开 DetailViewController 时,所有剩余的下载都被取消,但有时似乎是这样的情况,即 PictureDownloader 在连接被取消之前已完成加载图像(调用了connectionDidFinishedLoading),但 DetailViewController 不再存在(但PictureDownloader 确实如此,因为它由 NSURLConnection 保留),所以调用

在 PictureDownloader 内部会给出一个 EXC_BAD_ACCESS 或者有时是一个“发送到实例的无法识别的选择器”。

以下是源代码的相关部分:

在 DetailViewController 中创建 PictureDownloader

取消下载(当 DetailViewController 返回概览时调用)

当 PictureDownloader 完成加载时调用的委托方法

PictureDownloader里面的cancelDownload方法

在 PictureDownloader 中的 connectionDidFinishedLoading

有人可以给我一个提示,我该如何处理这个问题?

非常感谢您的帮助。

0 投票
1 回答
1525 浏览

objective-c - Cocos2d 在它的一个子节点中执行 CCLayer 函数

我正在为一个研究项目构建一个 iPad 游戏,但我一直试图让我的一个对象(从 CCSprite 继承)来调用 CCLayer 上的一个函数。

情况:我的 CCLayer 上有一个 wordObject 实例(继承自 CCSprite)。当对象被触摸时,它会记录一些东西并应该在它的父级 CCLayer 上执行一个函数来创建一个新对象。

到目前为止,我所拥有的检测到触摸并记录了一条消息,但我找不到在 CCLayer 上执行该功能的方法,因此我提出了问题。

当用另一种语言编程时,我只需将 CCLayer 指针作为参数传递给我的对象的 init 函数。我尝试通过这种方式扩展 initWithSprite 函数来做到这一点:

问题是使用此对象后,对象不再响应触摸输入(这可能是由于我在对象初始化时做错了什么造成的)。

但是,还有另一种方法可以做到这一点,据我了解,这种方法在 Objective C 中更好。我应该能够为我需要的函数创建一个协议,然后使用委托在我的对象中调用该函数。我为此编写的代码:

我缺乏使用协议或接口的知识可能导致我在此过程中遗漏了一些东西。尽管它没有给我任何错误或警告,但它也没有像我想要的那样执行该功能。(我有一个正在使用它的演示应用程序,它工作得很好,但我就是找不到我丢失的那段代码)。

关于如何解决这个问题的任何建议?感谢阅读并希望能回答我的问题!

0 投票
2 回答
3667 浏览

ruby-on-rails - 如何将委托方法用于两个以上的关联?

假设我通过调用以下关联链来检索运动的名称:

如何使用委托方法,以便我可以像这样调用 *pick.event_league_sport_name*?显然,我可以在pick模型中创建一个方法:

但我想使用委托方法!!!