草庐IT

initialization

全部标签

swift - SKNode 子类生成错误 : cannot invoke initializer for type "X" with no arguments

SKNodes可以用一个空的初始化器来初始化,例如,letnode=SKNode()。但是,子类化SKNode会破坏此功能。在子类化SKNode之后,Xcode在尝试在子类上使用空初始化程序时生成此错误:Cannotinvokeinitializerfortype"X"withnoarguments假设SKNodeSubclass是SKNode的子类,行letnode=SKNodeSubclass()会生成此错误。IsitpossibletosubclassfromSKNodeandalsouseanemptyinitializerlikewithSKNode?classStatusS

swift - 必须指定 Swift 协议(protocol)中的初始化程序。为什么呢?

如果你试图在Swift中创建一个包含convenienceinitialiser的protocol,你将立即被编译器责骂:protocolZizo{convenienceinit(a:String,b:Int)}Convenienceinitializernotallowedinnonclasstype.这种限制有什么原因吗?这对我来说没有意义。可能会出现什么问题? 最佳答案 这是因为,它没有意义。protocol只定义实现者所需要的方法和属性。它没有定义实现细节。当protocol需要init(a:String,b:Int)时,您

swift - 如何在 Swift 中使用嵌套的便利可失败初始值设定项检查 nil?

classOAuthToken:NSObject,NSCoding{varrefreshToken:String?varaccessToken:String?varscope:String?convenienceinit?(refreshToken:String?,accessToken:String?,scope:String){self.init()ifletacutalRefreshToken=refreshTokenasString?{self.refreshToken=acutalRefreshToken}else{returnnil}ifletactualAccessTok

ios - Swift + Realm 新手 : Problems with a simple Realm object and its initializers

我一直是Objective-C开发人员,几周前听说过Realm。另一方面,我一直想一点一点地迁移到Swift,所以我创建了一个涉及Realm+Swift的小项目。这是什么意思?我是Swift+Realm新手。无论如何,我为我想到的项目创建了一个小型演示/概念验证,我认为它必须更容易。但Xcode编译器另有说法。我的问题出在我的一个对象的初始值设定项上。我的意图很简单,但显然Realm需要的初始化程序比我想要的要多。我的一个Realm对象的代码是这样的:importFoundationimportRealmimportRealmSwiftclassPartida:Object{dynam

java - 线程 : Lazy Initialization vs Static Lazy Initialization

我正在观看Java内存模型视频演示,作者说与LazyInitialization相比,使用StaticLazyInitialization更好,我不清楚他说的是什么想说。我想接触社区,如果有人能用简单的Java代码示例解释StaticLazyInitialization和LazyInitialization之间的区别,我将不胜感激。引用:AdvancedProgrammingTopics-JavaMemoryModel 最佳答案 两个实现都可以是静态的,所以这是第一个误解。该视频中的演示者正在解释如何利用类初始化的线程安全性。类初始

java - 当类构造函数有参数时,如何在java中初始化数组?

我有这个类的构造函数:publicCategory(intmax){...}问题是,我想为这个类创建一个数组,我该如何初始化它?privateCategorycategories=newCategory(max)[4];不起作用。更新我需要做这样的事情吗?privateCategory[]categories=newCategory[4];然后初始化每个对象? 最佳答案 当你制作一个数组时,你就是在创建一个类别数组。那是数组的一个实例。当您使用Category对象填充数组时,此时您使用带有Const的Category。Categor

java - Java中的直接缓冲区是否像数组一样初始化为默认值?

当我在Java中初始化一个数组时:float[]array=newfloat[1000];所有的元素都初始化为0。我这样直接分配buffer是不是也是这样:FloatBufferbuffer=ByteBuffer.allocateDirect(4*1000).asFloatBuffer();?我似乎总是只得到零,但也许它取决于实现...... 最佳答案 看起来答案是可能。查看ByteBuffer的实现,它在底层使用了DirectByteBuffer。查看实现sourcecodeAndroid,它有这样的评论:Constructsan

Java 数组初始化保证

Java是否保证数组初始化?假设我使用代码char[]uuid=newchar[36];,是否保证每个元素都被初始化为0? 最佳答案 是的。JLS§10.3确保数组的所有元素都设置为它们的初始值,这由JLS§4.12.5保证为0、false或null。 关于Java数组初始化保证,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11278771/

java web 应用程序初始化和关闭

我正在尝试实现网络应用程序的初始化和关闭。这包括初始化和关闭:hibernate(v3.6);C3P0(v0.9.1.2);EHCache(v2.3.0);quartz(1.8.4);其他特定于我的网络应用程序的任务;使用Tomcat5.5.30和Java6。我的想法是避免资源泄漏,主要是因为在开发环境中重新部署了webapp。我应该如何实现? 最佳答案 通常对于Web初始化和关闭,你会写一个ServletContextListener.执行此操作的步骤是:编写一个实现javax.Servlet.ServletContextList

java - 在 Jersey webapp 启动时初始化数据库

这个问题在这里已经有了答案:Usingspecialautostartservlettoinitializeonstartupandshareapplicationdata(1个回答)关闭7年前。我读过this但我不太明白它是如何工作的。我想在我的Web应用程序启动时加载一个属性文件并设置我的连接池。显然我只想在一个地方做一次,所以如果需要我可以改变它。对于常规的servlet,我只是将我的初始化代码放在servlet的init()方法中,但您无法使用Jerseyservlet访问它。那么我该在哪里做呢?上面链接中的监听器是如何工作的?