问题标签 [convenience-methods]

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 投票
1 回答
259 浏览

vb.net - 是否有一种方便的方法来传递函数参数以在 Vb.net 中初始化 Dictionary(of string,string)

我们可以在 vb.net 中这样做:

请为方便起见,我们如何使以下成为可能:

谢谢。

0 投票
1 回答
268 浏览

ios - 在 Swift 中复制便利实现

我正在尝试理解以下代码以及如何将其转换为 Swift。具体来说,我知道这会添加一个实例方法,您可以在CIImage. 我的问题是,如何在 Swift 课程中做同样的事情?

此代码取自AAPLAssetViewController.mApple 使用 Photos 框架的示例应用程序。

像这样称呼它:

0 投票
2 回答
352 浏览

c# - 转换使用任务的便捷方法

我经常编写具有方便方法的代码,这些方法基本上包装了其他方法。这是一个简单的例子:

现在我想await长期运行操作,但我不太清楚如何改进这种方法以与 TPL 一起使用:

上面的便捷方法显然不起作用,因为它Task<ReadOnlyCollection<Response>>在真正需要返回 a 时试图返回 a Task<Response>

这有效:

但这似乎真的很尴尬,更重要的是,它阻塞了.Result[0]可能在 UI 线程上的哪个。

有什么好方法可以完成我想做的事情吗?

0 投票
1 回答
146 浏览

swift - 在 Swift 中,创建对象时在便利初始化程序中出现语法错误

我对如何使用便捷初始化器和指定初始化器有所了解。这里是一个名为 ClassA 的示例类

这个类运行良好,但在实现另一个名为 Base 的类时遇到了一些麻烦。这是代码:

在类 Base 的便利构造器中,我调用了 ClassA 的便利构造器,并将其作为 Base 的指定构造器的参数。

但是,我得到两个语法错误。

  1. 类型名称后的预期成员名称或构造函数调用。
  2. () 不可转换为 A 类。

如果我使用

代替

然后第一个错误消失了。似乎无法识别 ClassA 的便利初始化程序。

0 投票
2 回答
405 浏览

ios - 便利初始化程序的用例是什么?

在swift中有指定初始化程序的概念(我假设这是我们从其他语言中知道的“正常”构造函数)。
但是还有一个叫做 Convenience Initializer 的东西,我确实知道如何编写它,但是我失去了重点。
因为,如果我理解正确,你可以在不写关键字的情况下实现同样的事情convenience,或者不是?

0 投票
2 回答
1725 浏览

objective-c - 如何在 swift 便利初始化程序中返回自定义对象?

我正在尝试做这样的事情:

但这是不可能的,因为“nil”是初始化程序的唯一有效返回......我该怎么做?

例如,Objtive-C 方法 [UIImage imageNamed:] 是一个类方法(它可以在 Objective-C 中返回它想要的任何内容),它被映射到 swift 初始化程序 UIImage(named:)。

0 投票
1 回答
1032 浏览

swift - 在不提供 NSTextContainer 的情况下初始化 NSTextView 的子类

我有一个子类NSTextView,在这个子类的初始化程序中,我想调用:

这是我在以NSTextView编程方式初始化时总是做的事情。我简单地写:

但是,当我在子类 ( super.init(frame: (...))) 中执行此操作时,编译器会引发错误。它不会让我使用init(frame:),因为init(frame:)它是 的便利初始化器NSTextView,我必须调用“超类的指定初始化器”。

检查文档后,我发现指定的初始化程序NSTextViewinit(frame: textContainer:)但我不想处理NSTextContainers. 为什么我必须从对象的子类调用指定的初始化程序,但如果对象没有被子类化,我可以调用便利初始化程序?每当我通常初始化 an时,NSTextView我不必提供 an NSTextContainer,但是当我将 an 初始化NSTextView为子类的超类时,我会提供。为什么是这样?

另外,有没有办法NSTextView用一种“默认”文本容器初始化一个?不管指定的初始化器如何,我在这里要做的就是创建一个NSTextView而不用担心NSTextContainers.

0 投票
2 回答
400 浏览

ios - Swift:如何为没有参数的 UIAlertController 创建一个方便的 init

我正在尝试convenience init为 subclassed 创建一个没有参数的UIAlertController,但它给了我一个错误。

它给了我这个错误:

在调用 self.init 之前在委托初始化程序中使用 self

我也曾尝试self.init()在打电话给对方之前打电话self.init,但它崩溃了。

是否可以创建convenience init没有参数的?

0 投票
1 回答
429 浏览

ios - 新的 Xcode 7.3:Swift NSDate 扩展与可为空的便利 init 崩溃 EXC_BAD_ACCESS

我有这个带有可空初始化的 NSDate 扩展,它一直运行良好,直到我更新到新发布的 Xcode 7.3。

现在它与 EXC_BAD_ACCESS 一起崩溃。

您对此有任何可能的解决方案吗?无法弄清楚 - 我是否以某种方式滥用 NSDate 的扩展?

0 投票
2 回答
119 浏览

ios - 在 Swift 中编写大型应用程序时,我什至需要使用“init”方法吗?

这更像是一个概念问题。为什么要费心使用init

为什么不给所有东西一个默认值呢?

这样,我也不必担心在指定初始化和“方便”初始化之间做出决定,因为一切都将继承自它们的超类。有这种init方法的理由吗?

它是否允许严格默认值初始化的应用程序无法实现的编码模式?还是出于资源/内存管理等原因?