问题标签 [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.
vb.net - 是否有一种方便的方法来传递函数参数以在 Vb.net 中初始化 Dictionary(of string,string)
我们可以在 vb.net 中这样做:
请为方便起见,我们如何使以下成为可能:
谢谢。
ios - 在 Swift 中复制便利实现
我正在尝试理解以下代码以及如何将其转换为 Swift。具体来说,我知道这会添加一个实例方法,您可以在CIImage
. 我的问题是,如何在 Swift 课程中做同样的事情?
此代码取自AAPLAssetViewController.m
Apple 使用 Photos 框架的示例应用程序。
像这样称呼它:
c# - 转换使用任务的便捷方法
我经常编写具有方便方法的代码,这些方法基本上包装了其他方法。这是一个简单的例子:
现在我想await
长期运行操作,但我不太清楚如何改进这种方法以与 TPL 一起使用:
上面的便捷方法显然不起作用,因为它Task<ReadOnlyCollection<Response>>
在真正需要返回 a 时试图返回 a Task<Response>
。
这有效:
但这似乎真的很尴尬,更重要的是,它阻塞了.Result[0]
可能在 UI 线程上的哪个。
有什么好方法可以完成我想做的事情吗?
swift - 在 Swift 中,创建对象时在便利初始化程序中出现语法错误
我对如何使用便捷初始化器和指定初始化器有所了解。这里是一个名为 ClassA 的示例类
这个类运行良好,但在实现另一个名为 Base 的类时遇到了一些麻烦。这是代码:
在类 Base 的便利构造器中,我调用了 ClassA 的便利构造器,并将其作为 Base 的指定构造器的参数。
但是,我得到两个语法错误。
- 类型名称后的预期成员名称或构造函数调用。
- () 不可转换为 A 类。
如果我使用
代替
然后第一个错误消失了。似乎无法识别 ClassA 的便利初始化程序。
ios - 便利初始化程序的用例是什么?
在swift中有指定初始化程序的概念(我假设这是我们从其他语言中知道的“正常”构造函数)。
但是还有一个叫做 Convenience Initializer 的东西,我确实知道如何编写它,但是我失去了重点。
因为,如果我理解正确,你可以在不写关键字的情况下实现同样的事情convenience
,或者不是?
objective-c - 如何在 swift 便利初始化程序中返回自定义对象?
我正在尝试做这样的事情:
但这是不可能的,因为“nil”是初始化程序的唯一有效返回......我该怎么做?
例如,Objtive-C 方法 [UIImage imageNamed:] 是一个类方法(它可以在 Objective-C 中返回它想要的任何内容),它被映射到 swift 初始化程序 UIImage(named:)。
swift - 在不提供 NSTextContainer 的情况下初始化 NSTextView 的子类
我有一个子类NSTextView
,在这个子类的初始化程序中,我想调用:
这是我在以NSTextView
编程方式初始化时总是做的事情。我简单地写:
但是,当我在子类 ( super.init(frame: (...))
) 中执行此操作时,编译器会引发错误。它不会让我使用init(frame:)
,因为init(frame:)
它是 的便利初始化器NSTextView
,我必须调用“超类的指定初始化器”。
检查文档后,我发现指定的初始化程序NSTextView
是init(frame: textContainer:)
但我不想处理NSTextContainers
. 为什么我必须从对象的子类调用指定的初始化程序,但如果对象没有被子类化,我可以调用便利初始化程序?每当我通常初始化 an时,NSTextView
我不必提供 an NSTextContainer
,但是当我将 an 初始化NSTextView
为子类的超类时,我会提供。为什么是这样?
另外,有没有办法NSTextView
用一种“默认”文本容器初始化一个?不管指定的初始化器如何,我在这里要做的就是创建一个NSTextView
而不用担心NSTextContainers
.
ios - Swift:如何为没有参数的 UIAlertController 创建一个方便的 init
我正在尝试convenience init
为 subclassed 创建一个没有参数的UIAlertController
,但它给了我一个错误。
它给了我这个错误:
在调用 self.init 之前在委托初始化程序中使用 self
我也曾尝试self.init()
在打电话给对方之前打电话self.init
,但它崩溃了。
是否可以创建convenience init
没有参数的?
ios - 新的 Xcode 7.3:Swift NSDate 扩展与可为空的便利 init 崩溃 EXC_BAD_ACCESS
我有这个带有可空初始化的 NSDate 扩展,它一直运行良好,直到我更新到新发布的 Xcode 7.3。
现在它与 EXC_BAD_ACCESS 一起崩溃。
您对此有任何可能的解决方案吗?无法弄清楚 - 我是否以某种方式滥用 NSDate 的扩展?
ios - 在 Swift 中编写大型应用程序时,我什至需要使用“init”方法吗?
这更像是一个概念问题。为什么要费心使用init
?
为什么不给所有东西一个默认值呢?
这样,我也不必担心在指定初始化和“方便”初始化之间做出决定,因为一切都将继承自它们的超类。有这种init
方法的理由吗?
它是否允许严格默认值初始化的应用程序无法实现的编码模式?还是出于资源/内存管理等原因?