草庐IT

Delegation

全部标签

java - Kotlin:如何在 Java 中使用委托(delegate)属性?

我知道您不能在Java中使用委托(delegate)属性语法,也不会像在Kotlin中那样享受“覆盖”set/get运算符的便利,但我仍然想使用现有的属性委托(delegate)在Java中。例如,一个简单的int委托(delegate):classIntDelegate{operatorfungetValue(thisRef:Any?,property:KProperty)=0}当然,在Kotlin中我们可以这样使用它:valxbyIntDelegate()但是我们如何在Java中以某种形式使用IntDelegate呢?这是开始,我相信:finalIntDelegatex=newIn

java - DelegatingVehicleTracker (p. 65 Goetz) 如何返回 "live" View ?

在JavaConcurrencyinPractice的第65和66页,BrianGoetz列出了以下代码:@ThreadSafepublicclassDelegatingVehicleTracker{privatefinalConcurrentMaplocations;privatefinalMapunmodifiableMap;publicDelegatingVehicleTracker(Mappoints){locations=newConcurrentHashMap(points);unmodifiableMap=Collections.unmodifiableMap(locat

java - 使用构建器模式时,为什么我不应该重用构建器对象来访问对象配置?

当使用BuilderPattern时为什么我不应该重用构建器对象来访问对象配置?例如:正常方式:ObjectA(ObjectBuilderb){this.a=b.getA();}publicObjectgetA(){returnthis.a;}但为什么我不能只使用它:ObjectA(ObjectBuilderb){this.builder=b;}publicObjectgetA(){returnthis.builder.getA();}谢谢:) 最佳答案 使用构建器的一个重要原因是构建一个不可变的对象:构建器是可变的,它构建的东西不

java - 向 Java 程序员解释 Objective-C 委托(delegate)

我是Objective-C的新手,但在Java方面经验丰富。Java中是否有Objective-C“委托(delegate)”的等效概念,以便我可以更好地理解这个概念?有没有办法在Java中模拟委托(delegate)概念? 最佳答案 委派只是一种避免必须将对象(如TableView)子类化以实现应用程序特定行为的方法,而是将责任交给Controller。当您创建TableView时,您为其分配一个Controller对象,该对象实现一组已定义的方法(一些可能是必需的,其他可能是可选的)。当TableView需要数据或必须决定如何显

c++ - 分配给 *this 用于构造函数委托(delegate)

我正在查看C++11中的一些新功能,但由于我当前的GCC版本,我无法使用构造函数委托(delegate)。但这让我开始考虑像这样复制该功能:classA{public:A():num(42){}A(intinput){*this=A();num*=input;}intnum;};它当然可以编译并且工作正常,下面的代码:Aa;cout返回这个,这是正确的。4284显然这是一个非常简单的例子,但除了内存效率低下(两个A被创建,一个在被销毁之前被另一个覆盖)之外,还会出现什么问题?这看起来确实像是一种代码味道,但我想不出真正好的理由。 最佳答案

ios - 方向改变时交换 UIViewControllers 的问题

我有一个带有2个ViewController的单View应用程序,用于呈现不同的纵向和横向布局。我已经设置了方向更改通知,并且可以在第一次方向更改时成功显示横向View。第一个问题:当我将方向改回纵向时,不会显示纵向View。第二个问题:当我将方向改回横向时,横向View显示,但我收到警告:尝试在其View不在窗口层次结构中的CalculatorViewController上显示CalculatorViewControllerLandscape。我浏览了apple文档和几篇有类似问题的帖子,发现答案在于使用委托(delegate),但我无法正确设置委托(delegate)。这是我的尝试

ios - 使用委托(delegate)清理数组

我制作了一个AR应用程序,可以识别图像并在AlertView中显示识别出的对象。在AlertView中,我有2个按钮:添加和取消,我使用UIAlertViewDelegate来了解用户按下了哪个按钮。如果用户按下添加按钮,识别的对象将存储在一个数组中。我将这个数组传递给另一个ViewController,我在其中设置了一个TableView。在这个TableView的底部有一个“支付”按钮,可以转到另一个ViewController,我在其中显示识别出的对象的总价。在最后一个ViewController中,我可以按下一个按钮来支付我使用AR选择的对象。现在,当我按下此按钮时,应用程序会

iOS 委托(delegate)和单例模式

我正在开发iOS应用程序。我使用的设计模式Singleton和Delegation模式。我在dealloc方法中没有一个委托(delegate)对象。如果用户重新打开此屏幕并设置为委托(delegate)对象self。但我看到委托(delegate)对象总是零。我怎样才能重新分配给自己委托(delegate)对象 最佳答案 由于你的问题不够详细,我想给你建议先仔细检查你的单例代码,然后始终以正确的方式检查您的委托(delegate)是否与您的逻辑一起正确设置。我知道这个答案太宽泛和笼统,但是,这无济于事。作为引用,下面的代码是ARC

ios - 使用 'Delegation' : Objective-C 在两个 View Controller 之间传递数据

我正在实现一个库(.a),我想将通知计数从库发送到应用程序,以便它们可以在其UI中显示通知计数。我希望他们实现唯一的方法,例如,-(void)updateCount:(int)count{NSLog(@"count*d",count);}我怎样才能连续地从我的图书馆发送计数,以便他们可以在updateCount方法中使用它来显示。我搜索并了解了回调函数。我不知道如何实现它们。有没有其他方法可以做到这一点。 最佳答案 你有3个选择委托(delegate)通知block,也称为回调我觉得你想要的是Delegate假设你有这个文件作为li

ios - 未为 API 监听器调用 NSFetchedResultsController 委托(delegate)

如果代码将委托(delegate)分配给NSFetchedResultsController,如下所示:-(id)initWithFetchedResultsController:(NSFetchedResultsController*)fetchedResultsController{self=[superinit];if(self!=nil){fetchedResultsController.delegate=self;_fetchedResultController=fetchedResultsController;}returnself;}NSFetchedResultsCon