草庐IT

constantly

全部标签

swift - 在 Constant 类中访问枚举时在 swift 中编译错误

我的这段代码无法编译。我的想法是我想保留一个全局常量类。ViewController.swift:varuser=[String:String]()user[CUser.Attribute.TYPE]=userTypeSwitch.on?CUser.Type.RIDER.rawValue:CUser.Type.RIDER.rawValueCUser.swiftclassCUser{enumType:String{caseRIDERcaseDRIVER}classAttribute{staticletTYPE="TYPE"}}错误信息是这样的:“类型‘CUser.Type’没有成员‘RI

ios - 快速全局常量 : cannot use another constant for initialization

这是我正在尝试做的事情:classViewController:UIViewController{letscreenRect:CGRect=UIScreen.mainScreen().boundsletscreenWidth=screenRect.width;letscreenHeight=screenRect.height;letscreenX=screenRect.origin.xletscreenY=screenRect.origin.yoverridefuncviewDidLoad(){...andsoonSwift允许我声明screenRect。但是,它不允许我使用它来声明任

swift - 可以在 Swift "computed constant"中设置 `struct` 吗?

为了方便命名常量,我想在Swift中执行以下操作(我的实际情况不那么琐碎),以便我可以在以后的代码中引用IntegerConstants.SIX。但是,SIX不能被赋值,因为ONE和TWO在struct初始化之前没有值..有点“第二十二条军规”structIntegerConstants{letONE=1.0letTWO=2.0letSIX=(ONE+TWO)*TWO}有没有一种方法可以做到这一点,或者有一种等效方法可以创建一个我还没有发现的“GROUP.VALUE”形式的命名常量? 最佳答案 如果您使用它来对常量进行分组,如使用I

swift - 无法分配给属性 : 'card' is a 'let' constant in a for loop in swift

这个问题在这里已经有了答案:"Cannotassignto"erroriteratingthrougharrayofstruct(3个答案)关闭4年前。无法分配给属性:“card”是chooseCard方法中for循环中的“let”常量。我无法弄清楚为什么错误会出现在for循环中。我在代码中遗漏了什么。请帮忙。importFoundationclassConcentration{varcards=[Card]()varfaceUpCount=0funcchooseCard(atIndex:Int){varalreadyFaceUpCard=Card()iffaceUpCount==0{

arrays - Array.reduce 无法通过下标赋值 : 'x' is a 'let' constant

我正在尝试对数组使用reduce函数:varfields=["gender","name","nickname"]varstats=fields.reduce([String:String]()){(res,field)->[String:String]inres[field]=json[field]??""returnres}它只是遍历fields数组并将值从json对象分配给res。对我来说似乎很简单,但编译器一直在说:error:cannotassignthroughsubscript:'res'isa'let'constant在线:res[field]=json[field]?

xcode - swift 2.2 : GCC_PREPROCESSOR_DEFINITIONS constants no longer imported

techniquetoseparateAPIkeysinaxcconfigfiledescribedinthisanswer不适用于Swift2.2duetoabug(SR-909).有什么解决方法吗? 最佳答案 感谢您指出错误,一时半会儿也想不出这个错误。如果有任何帮助,我最终向Swift添加了一个额外的objc常量桥,并使用了swift中的桥常量://Constants.hexternNSString*constkDropBoxAPIKey;//Constants.mNSString*constkDropBoxAPIKey=DR

swift - 是什么导致 'Constant captured by a closure before being initialized'错误

在接下来的类(class)中classFoo{let_defaultValue="N/A"letvalue:Stringinit(dict:NSDictionary){self.value=dict["bar"]as?String!??_defaultValue}}编译器失败并显示消息在初始化之前由闭包捕获的常量“self.value”据我所知,没有运算符读取`self.value。该消息似乎有些困惑。我不小心想出了一个解决方法。我应该说这让我更加困惑:classFoo{letvalue:Stringinit(dict:NSDictionary){let_defaultValue="N

java - IntelliJ/Android -> 案例 R.id.viewId 上的 "java: constant expression required"

当我尝试在IntelliJ中构建我的Android项目时,我在每个switch语句中都遇到了错误,这些语句使用了R.java中的Id。例子:switch(item.getItemId()){caseandroid.R.id.home:NavUtils.navigateUpTo(this,DashboardActivity.upIntent(this));returntrue;caseR.id.orders_options_add:handleAddItem();returntrue;caseR.id.orders_options_reorder:handleReorder();fini

java - CONSTANT.equals(VARIABLE) 是否比 VARIABLE.equals(CONSTANT) 快?

我和我的一位队友进行了一次有趣的谈话。CONSTANT.equals(VARIABLE)是否比Java中的VARIABLE.equals(CONSTANT)快?我怀疑这是一个虚假陈述。但我想弄清楚这背后的定性推理是什么?我知道在这两种情况下,性能不会因任何类型的重要状态而有所不同。但这是最佳实践下的建议,这让我感到不舒服。这就是我希望通过这个案例提出一个好的推理的原因。请帮忙 最佳答案 有趣的问题。这是我写的测试:publicclassEqualsTest{publicstaticStringCONST="const";public

python - 类特定的 "constants"是否仍应在模块级别声明?

在PEP8,声明“常量通常在模块级别[...]上定义”。这对于标准库来说是有意义的,其中常量往往属于整个模块而不是特定类(例如zlib.MAX_WBITS或re.UNICODE)。然而,我目前正在编写一个模块,其中常量都与各个类相关。该模块旨在允许Python程序使用特定于应用程序的序列化格式,其中数据block被排列成“block”,这些block进一步排列成“区域”。block和区域的维度是可以公开的有用常量,在我偶然发现PEP8中的那条线之前,我一直在这样做作为类属性。我倾向于让它们保持原样(PEP8也说“愚蠢的一致性是小脑袋的妖精”,毕竟),但我想确保我不会太这样做会严重破坏用