initializer相关内容
我经常发现自己喜欢在struct、enum和protocol的初始值设定项中,我可以编写类似self = someValue的内容。当我有一些预定义的值或正在克隆现有值时,这很棒。 但是,此语法不适用于classES。我也不知道为什么。 无法赋值:‘self’是不可变的 如果关注的是双重初始化,则SWIFT编译器知道我是否、何时以及在哪里调用指定的super或self初始化器,因此它知道
..
我有一个对象,它将在第一次使用后被缓存。我将使用cPickle模块完成此操作。如果模块已经缓存,当我下一次尝试实例化对象时(在另一个进程中),我想使用缓存的对象。以下是我的基本结构: import cPickle class Test(object): def __new__(cls, name): if name == 'john': pri
..
..
我想要的是: obj = Foo.new(0) # =>无或假 这不起作用: 类 Foo定义初始化(val)如果 val == 0 则返回 nil结尾结尾 我知道在 C/C++/Java/C# 中,我们不能在构造函数中返回值. 但我想知道在 Ruby 中是否有可能. 解决方案 在 Ruby 中,'new' 和 'initialize' 是什么关系? new 通常调用
..
我有一个保存数据的容器类.创建容器时,有不同的方法来传递数据. 传递一个包含数据的文件 直接通过参数传递数据 不传递数据;只需创建一个空容器 在 Java 中,我将创建三个构造函数.如果在 Python 中可行的话,它会是这样的: 类容器:def __init__(self):self.timestamp = 0自我数据 = []self.metadata = {}def __i
..
我是 Objective C 的新手,我无法找出语言中是否存在等效的静态构造函数,即类中的静态方法,将在第一个实例之前自动调用此类的实例化.还是我需要自己调用初始化代码? 谢谢 解决方案 +initialize 方法在第一次使用类时被自动调用, 在使用任何类方法或创建实例之前.你不应该自己调用 +initialize. 我还想传递我学到的一个花絮:+initialize 被子类
..
我在这里问了一个问题:initializer_list return 的Lifetime Extension 涉及非功能性代码: const auto foo = [](const auto& a, const auto& b, const auto& c) { return {a, b, c};}; 我相信 lambda 试图返回一个 initializer_list(这很糟糕,不要那样做.
..
我正在尝试在 Rails 3 中构建一个 gem,并在其中尝试传递一个初始化程序: Credentials.configure 做 |config|file = File.read("#{Rails.root}/config/twitter.yaml")file_config = YAML.load(文件)config.consumer_key = file_config[Rails.env][
..
我有一些协议 登录策略 公共协议 LoginStrategy {func login(_ viewController: UIViewController)func getUserInfo(withCompletionHandler completionHandler: @escaping (_ userInfo: [String: Any]?) -> ())func createLogi
..
我想在我的 Rails 应用程序启动时设置一个类属性.它需要检查一些路由,因此需要在我的自定义代码运行之前加载这些路由.我很难找到一个可靠的上钩地点. 这在“测试"环境中完美运行: config.after_initialize 做Rails.logger.info "#{Rails.application.routes.routes.map(&:path)}"结尾 但它不在“开发"环境
..
我是 Objective C 的新手,我一直无法找出语言中是否有静态构造函数的等效项,即类中的静态方法,将在第一个实例之前自动调用这样的类被实例化.还是需要自己调用初始化代码? 谢谢 解决方案 +initialize 方法在第一次使用类时自动被调用, 在使用任何类方法或创建实例之前.你永远不应该自己调用 +initialize. 我还想传递一个我学到的花絮:+initializ
..
我正面临一个用例,我想声明一个带有初始化语句的 static final 字段,该字段声明为抛出已检查的异常.通常,它看起来像这样: public static final ObjectName OBJECT_NAME = new ObjectName("foo:type=bar"); 我在这里遇到的问题是 ObjectName 构造函数可能会抛出各种检查异常,我不关心(因为我知道我的名字是有
..
我想要一个带有私有静态数据成员的类(一个包含所有字符 a-z 的向量).在 java 或 C# 中,我可以只创建一个“静态构造函数",它会在我创建类的任何实例之前运行,并设置类的静态数据成员.它只运行一次(因为变量是只读的并且只需要设置一次)并且因为它是类的函数,所以它可以访问其私有成员.我可以在构造函数中添加代码来检查向量是否已初始化,如果未初始化则对其进行初始化,但这会引入许多必要的检查并且似
..
当我尝试在 Swift 中创建 UIViewController 的实例时,所有继承的初始化器都不可用,即使我没有在视图中定义任何指定的初始化控制器(或其他任何东西,FWIW). 此外,如果我尝试通过将其设置为根视图控制器来显示它,它永远不会显示: func application(application: UIApplication, didFinishLaunchingWithOpti
..
所以我刚刚升级到 Xcode 6.3 Beta 3 并且出现了很多与以下相关的错误: Initializer 不会覆盖其超类中的指定初始化器. 覆盖 init() {超级初始化()} 例如这是一个 UIButton 类: class CustomButton: UIButton {var 目标:AnyObject!var 选择器:选择器!var 动作:(() -> Void)!over
..
这最终是一个 C 问题,是在研究 Linux 内核源代码的 completion.h 中的代码时出现的,在那里我看到了一种我以前从未在 C 中使用过的 C 技术.虽然对它在做什么有一个模糊的感觉,但我想通过准确的描述来微调我的理解,而且我不太确定如何在没有潜在长期折磨的情况下使用 Google 搜索答案. 来自 linux 内核的相关代码行 完成.h: 结构补全{无符号整数完成;wait_
..
我想在 Rails 应用程序启动时设置一个类属性.它需要检查一些路由,因此需要在我的自定义代码运行之前加载这些路由.我很难找到一个可靠的地方来勾搭. 这在“测试"环境中非常有效: config.after_initialize 做Rails.logger.info "#{Rails.application.routes.routes.map(&:path)}"结尾 但它在“开发"环境中不
..
我有一个带有一些静态函数的辅助类.类中的所有函数都需要一个“重"的初始化函数来运行一次(就像它是一个构造函数). 是否有实现这一目标的良好做法? 我唯一想到的是调用一个 init 函数,如果它已经运行过一次(使用静态 $initialized 变量),就中断它的流程.问题是我需要在类的每一个函数上调用它. 解决方案 听起来像使用单例而不是一堆静态方法更好 class 单例{/
..
我脑抽筋了...如何在 C++ 中正确初始化对象数组? 非数组示例: struct Foo { Foo(int x) {/* ... */} };结构栏{福福;酒吧():foo(4){}}; 数组示例: struct Foo { Foo(int x) {/* ... */} };结构巴兹{富富[3];//???我知道以下语法是错误的,但什么是正确的?Baz() : foo[0](4),
..
当存在无参数构造函数时,似乎 C# 3.0 对象初始值设定项语法允许在构造函数中排除开/关括号对.示例: var x = new XTypeName { PropA = value, PropB = value }; 相反: var x = new XTypeName() { PropA = value, PropB = value }; 我很好奇为什么在XTypeName之后构造函数的开
..