草庐IT

fill_values

全部标签

swift 3 : How to catch error if NSCoder decodeX function decodes wrong value type?

Swift3改变了NSCoder的工作方式。正如其他SO问题所提到的,要解码Int或Bool等值类型,您必须使用特定函数。例如,decodeInteger用于解码Int值,如下所示:letvalue=decodeInteger(forKeykey:TestKey)但是,如果decodeInteger返回的值是String或Bool或Int以外的值怎么办?或者如果TestKey实际上映射为空,因为它包含错误的key数据怎么办?如何优雅地捕获这些错误? 最佳答案 在非整数键上使用decodeInteger会引发异常。遗憾的是,这是一个S

ios - 在 swift 中获取值(value)的首选方式是什么,var 还是 func?

在swift中获取值的首选方法是什么?使用只读变量vargetString:String?{return"Value"}还是使用函数?funcgetString()->String?{return"Value"}另外,两者在性能上有区别吗? 最佳答案 首先,这些都不是合适的名称。它们不应以get开头。(get前缀在Cocoa中有历史意义,但您并不是这个意思,所以即使您的意思是“上网并检索此信息”,您也想使用类似fetch,但肯定不是你给出的情况。)这些问题在SwiftAPIDesignGuidelines的各个部分中得到解决。.首先

ios - 删除 NotificationCenter 的观察者 - "Variable used within its own initial value"

我不明白如何使用block删除通知的观察者。varblock=NotificationCenter.default.addObserver(forName:.notifName,object:obj,queue:OperationQueue.current,using:{notificationinNotificationCenter.default.removeObserver(block)//Dostuff})这会出现编译器错误“变量在其自身的初始值内使用”。我怎样才能删除这个观察者? 最佳答案 编译器提示是因为它“不知道”闭包

ios - swift iOS 从异步中获取值(value)(发布数据)

我在异步过程中获取值时遇到问题。我的类(class)是:publicclassPostService:NSObject{varresult:String=String()//thisismyfunctionfuncrequest(vardataPost:String,vardestination:String)->String{letrequest=NSMutableURLRequest(URL:NSURL(string:destinationasString)!)request.HTTPMethod="POST"letpostString=dataPostrequest.HTTPBo

ios - 在 Double 中获得奇怪的值(value)

你好,我在学习swift的时候做了一个“Clicker”作为第一个项目,我有一个自动计时器,它应该从其他数字中删除一些数字,但有时我得到像0.600000000000001这样的值,我不知道为什么。这是我的“攻击”函数,它从僵尸的生命值中移除0.2。letfGruppenAttackTimer=NSTimer.scheduledTimerWithTimeInterval(1,target:self,selector:Selector("fGruppenAttackTime"),userInfo:nil,repeats:true)funcfGruppenAttackTime(){zHea

ios - 捕获所有 "unexpectedly found nil while unwrapping an Optional value"

我有一个大型swift项目,从JSON获取大量数据。很难检查每一个数据和平是否为零。有没有办法捕获所有这些nils,以便我的应用程序在遇到意外nils时不会崩溃?或者我必须在我拥有的所有数据中使用“ifletvariable=...”!谢谢 最佳答案 坏消息:是的,您应该始终检查可选项。好消息:有比iflet更实用的快捷方式。例如。您可以提供合理的默认值(使用“nil-coalescingoperator”)。letitemID=jsonData["itemID"]as?NSNumber??0letstringVariable=js

ios - swift 枚举 : perform code on value change?

Swift枚举有各种神奇之处,比如初始化,你可以写一个变异函数,等等。但我想知道,您能否简单地让它在值更改时运行一些代码??因此,当然,使用属性+枚举,您就可以做到这一点......这太棒了。(请注意,下面的vadian给出了一个很好的完整示例。)所以我的问题很简单,Swiftenum是否有一项功能可以让您在值发生变化时运行代码?或者,简而言之,您是否必须使用属性/变异组合? 最佳答案 ButI'mwonderingifliterallywithinenuminSwiftthereisaconceptto"runcodewhenth

ios: 具有 Aspect Fill 的 UIImageView 不适合约束

我有以下设计。使用Storyboard我尝试了多种方法,但所有的努力都是徒劳的。1-ViewController的主要默认View2-包含ImageView和2个等宽按钮的View3-具有纵横比填充的ImageView(需要根据iPhone尺寸占用尽可能多的空间)除1个约束外,我做对的一切。包含2个按钮的ImageView和View之间的约束。(对按钮使用堆栈View)在某些屏幕尺寸下,具有纵横比填充的ImageView与堆栈View重叠。AspectFit留有大量空白。ImageView需要根据尺寸为所有iPhone缩放!(那个好像是AspectFill解决的,不是aspectfit

ios - 在 Swift 中,对于 AnyObject,我如何设置 Value() 然后调用 valueForKey()

我想在AnyObject中存储一个值,然后按如下方式检索它:varobj:AnyObject=UIButton()obj.setValue("James",forKey:"owner")obj.valueForKey("owner")但是,即使如错误所示这些方法可用,AnyObject也不允许这样做:setValue:forUndefinedKey:]:thisclassisnotkeyvaluecoding-compliantforthekeyowner.'这是怎么做到的? 最佳答案 您不能分配给UIButton的任意键。有些类确

swift - NS编码: Found nil unwrapping an Optional value

自从更新到Swift3后,我遇到了这个众所周知的崩溃,我自己无法解决...:fatalerror:unexpectedlyfoundnilwhileunwrappinganOptionalvalue*:在线self.isDefault=aDecoder.decodeObject(forKey:"BoxUserDefault_isDefault")作为!bool为什么现在会崩溃?这是我的课classBoxUserDefault:NSObject,NSCoding{varfrendlyName:Stringvarhostname:StringvarisDefault:Boolinit(fr