草庐IT

swift-keypath

全部标签

swift - 如何将函数作为参数传递以避免保留循环?

我有一个ViewController,我试图通过传递函数作为block参数来调用Timer.scheduledTimer(withTimeInterval:repeats:block),而不是动态创建block。我有这个ViewController:classViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()Timer.scheduledTimer(withTimeInterval:5,repeats:true,block:onTimer)}deinit{print("deinit\

ios - 我无法在 Swift 3 中枚举 NSAttributed 文本

我无法在swift3中正确编译它。我遇到了此处为实际代码。我不确定为什么它在代码中要求额外的,data2=items.data(using:.utf8)attrString=NSAttributedString(htmlData:data2!,options:[DTDefaultFontSize:13.0,DTDefaultFontFamily:"Verdana",DTDefaultFirstLineHeadIndent:5.0],documentAttributes:nil)print(attrString)attrString?.enumerateAttribute(NSAttac

swift - error = error 与 error != nil 之间的区别

我想知道两者之间有什么大的区别ifleterror=error{}vsiferror!=nil?或者只是人们的不同之处,比如他们如何用代码表达自己?例如,如果我使用这段代码:user?.delete{errorinifleterror=error{print(error)}else{}因为我可以这样做并且输出是相同的:user?.delete{erroriniferror!=nil{print(error)}else{}除了“peoplearedifferent”,我能看到的唯一区别是,如果我不打印错误,最好使用iferror!=nil因为否则它会声明变量you不使用。我说得对吗?

ios - 如何在 Swift 3 中按字母顺序排列对象数组?

我尝试按字母顺序列出一组对象。我创建了这个简单的测试,但不知道如何使用对象数组实现此目的:letnames=["Martin","Nick","Alex","Ewa","Barry","Daniella","Chris","Robert","Andrew"]funcalphabetizeArray(_s1:String,_s2:String)->Bool{returns1当我对一组对象尝试这样做时,我想到了这样的事情:funcsorterForIDASC(this:People,that:People)->Bool{returnthis.name>that.name}peoples.s

swift - 当涉及 Optional(_SwiftValue) 时,如何检查 nil/NSNull/optional

从swift3开始,我无法可靠地检测nil/NSNull。在此代码段中,我得到了一个我不知道如何检测的Optional(_SwiftValue)值,而不是nil。我试过了checkingclassForCoder没有运气。其他地方有talkaboutid-as-AnycausingthiskindofproblemfunctestVotingMachine(){letvote:String?=nil//Canbeastringornil//letvote:String?="president"//Canbeastringornilvardict=[String:AnyObject?](

Swift 3 setValuesForKeys 错误

我试图从字典中获取数据并将其附加到数组中(我遵循了这个Tutorial)。字典是这样的:["Name":TEST,"ID":51C3EE09-5718-4E07-9C88-FC2409BA6AC1,"Name_O":test,"Users":]但不幸的是它无法获取数据refHandle=ref.child("Pages").observe(.childAdded,with:{(snapshot)inifletdictionary=snapshot.valueas?[String:AnyObject]{print(dictionary)letdata=Data()data.setValu

swift - 使字典值成为非可选的扩展

下面的Playground概述了我的问题。该扩展将从我的字典中删除nil值,但将其他值保留为Optional(Value)。我需要的是一个没有nil值并使可选值类型为非可选的字典。例如:我有一个字典[String:Int?]。我希望在该字典上调用的jsonSantize()返回一个[String:Int]。//:Playground-noun:aplacewherepeoplecanplayimportUIKitimportFoundationprotocolOptionalType{associatedtypeWrappedvarasOptional:Wrapped?{get}}ex

ios - Swift 3 - inout 字符串不可转换为字符串

为什么它在Swift3中不起作用?如何转换?varvalorTemp:String="44,52"valorTemp=valorTemp.substring(with:Range(valorTemp.startIndex...valorTemp.characters.index(valorTemp.endIndex,offsetBy:-2)))当我将...更改为..varvalorTemp:String="44,52"valorTemp=valorTemp.substring(with:Range(valorTemp.startIndex..谢谢! 最佳答案

swift - 如果存在某种类型的 child ,如果我想获取父 key ,我应该调用什么方法?

这是我的Firebase数据结构2016-10-24Monday":{"types":{"LUNCH":{"typeA":"2","typeB":"1","typeC":"1"},"DINNER":{"typeA":"1","typeB":"2","typeC":"3"}}"2016-10-26Wednesday":{"types":{"LUNCH":{"typeA":"0","typeB":"2","typeC":"3"},"DINNER":{"typeA":"2","typeB":"2"}"2016-10-27Thursday":{"types":{"DINNER":{"typeA

ios - 在swift 3中保存硬币变量

这个问题在这里已经有了答案:Swift3.0saveascorewithSpriteKit(1个回答)关闭6年前。我是swift的新手,我需要帮助保存一个int变量,该变量保存用户收集的硬币并在应用程序关闭后保存它,所以这就是我所做的,我有两个场景,一个代表startMenu有一个结构,它有硬币变量(所以我可以很容易地从另一个场景控制它),另一个场景是GameScene,在GameScene中,每次用户与硬币节点交互时,它都会将1添加到硬币变量StarMenu场景在我的StartMenu结构中structVariables{staticvarCoinsCollected=0}这就是我为