草庐IT

swift - Int 和 Bool 值的类型检查在 Swift 4.2 中返回不正确

我目前有一个Swift4.2的问题,我想请求人们帮助解决。目前,我正在反序列化一个JSON响应,它是一个字典,其键为String类型,其值可以为Int或类型bool。一个很好的例子如下:{"number_of_likes":0,"is_liked":true}当我反序列化对象时,JSON响应的类型为[String:Any],这是预期的。任务:我需要创建一个数组,详细说明哪些键是Bool类型并设置为true。问题:使用上面突出显示的响应运行以下代码时:guardletjson=jsonas?[String:Any]else{return}forkeyindict.keys{print("

swift - 无法使用类型为 '[xxx]' 的索引下标类型为 '(Int, () -> ())' 的值

我有这个问题,访问数组索引时出错。索引应该是一个整数,但它不起作用。我最初尝试使用一个变量,但在这个例子中我将它更改为整数0,只是为了显示它不是问题所在的变量。letlocation=SNStore.Welland[index].locations[0]{iflocation.timestamp>0{}}错误是:Cannotsubscriptavalueoftype'[LocationStore]'withanindexoftype'(Int,()->())'那么有人可以解释为什么数组不需要int作为其索引吗?这很奇怪,我不明白。我检查了快速帮助中的位置声明,它正确地显示了位置是如何在

swift - 无法将类型 '[Int]' 的值转换为预期的参数类型 'Int'

我是swift的新手,现在尽我所能努力学习。我写的函数有参数:数字和使用这个数字的函数:funcanotherSum(_numbers:Int...)->Int{returnnumbers.reduce(0,+)}funcmakeSomething(_numbers:Int...,f:(Int...)->Int){print(workFunction(numbers))}makeSomething(1,2,3,4,5,6,7,8,f:anotherSum)但编译给出错误无法将类型'[Int]'的值转换为预期的参数类型'Int'。当我试图改变像这样的论点时workFunction:([I

Swift 警告 - 从 'Builtin.Int32' 转换为 'Builtin.Int8' 时整数溢出

我收到以下警告,没有提及它发生的行:warning:integeroverflowswhenconvertedfrom'Builtin.Int32'to'Builtin.Int8'此代码中出现警告:extensionNSPoint{funcToString()->String{return"("+self.x.description+","+self.y.description+")"}funcPlus(toBeAdded:NSPoint)->NSPoint{returnNSPoint(x:self.x+toBeAdded.x,y:self.y+toBeAdded.y)}funcMin

ios - 从 'Int?' 转换为无关类型 'NSNumber' 总是失败

当我尝试执行下面的行时,我没有收到警告(不是错误)。这是我在做什么坏事吗?我正在尝试将整数earningsSoFar转换为NSNumber,因为我想从中获取.stringValue。我想了解这里的警告是什么意思以及如何正确执行此操作。self.tv_salaryNumber.text=(earningsSoFaras!NSNumber).stringValue 最佳答案 你可以用这种方式将Int转换为NSNumberleta:Int?=10letb=a!asNSNumber所以,在你的代码中,试试self.tv_salaryNumb

swift - 在 Swift 中将动态 Int 变量从一个类传递到另一个类

我是swift2的新手,我在将变量从一个类传递到另一个类时遇到了困难。我有一个类“GameScene”,我有一个公共(public)变量score并且它在更新函数中不断更新。我想在两个节点相互碰撞时发送score值。一旦发生碰撞,我就会使用“mainview.presentScene(gameoverScene)”语法转到另一个场景。我想要gameoverscene中的更新分数。我尝试在gameoverscene中使用“privatelet_gameScene=GameScene()”并使用“finalscore.text=String(_gameScene.finalScore)”将

ios - 二元运算符 % 不能应用于 UInt32 和 int 类型的操作数

varY:Int=0Y=arc4random()%5我遇到了错误"binaryoperator%cannotbeappliedtooperandsoftypeUInt32andint".HowcanIfixmysyntax 最佳答案 使用跟随varY:Int=0Y=Int(arc4random()%5) 关于ios-二元运算符%不能应用于UInt32和int类型的操作数,我们在StackOverflow上找到一个类似的问题: https://stackover

swift - 为什么 Int(false) 有效而 Int(booleanVariable) 无效?

这个问题在这里已经有了答案:ConvertingBooleanvaluetoIntegervalueinSwift(8个答案)关闭6年前。代码如下:Int(false)//=1,it'sokay//butwhenItrythisletemptyString=true//orletemptyString:Bool=trueInt(emptyString)//error-Cannotinvokeinitializerwithanargumentlistoftype'(Bool)'谁能解释一下这个事实?这很困惑。里面发生了什么?

ios - 将数组 int 附加到字符串数组

我有一个字符串数组,它在单独的一行上显示一个字符串。我想采用一个int数组并显示在同一行上。因此数组的条目按顺序配对。所以yourArray[1]=number[1]、yourArray[2]=number[2]等。所以我只是想将数字数组添加到labez.text=sortedArray.map{"($0)"}.joined(separator:"\n")代码行。varyourArray=[String]()varnumber=[Int]()@IBActionfuncstore(_sender:Any){yourArray.append((textA.text!))number.app

objective-c - 无法在 Swift 中调用采用 int 的 ObjC 方法,因为 Int32 无法转换为 Int

我正在处理Objective-C和Swift的混合项目。我有一个名为Point的类,它是在Objective-C中定义的,它具有int属性和一个初始化程序:@property(nonatomic)intcolumn;@property(nonatomic)introw;-(id)initWithColumn:(int)columnrow:(int)row;我用它在Swift文件中创建对象:Point(column:Column,row:Row)但是报错:cannotinvoke'init'withanargumentlistwithtype'(column:Int,row:Int)'进