草庐IT

int_parser

全部标签

ios - 基础:为什么 Int64.max 和 Double(Int64.max) 在 Swift iOS SDK 中打印 2 个完全不同的值

这是我的Swift代码print("\(Int64.max)")print("\(Double(Int64.max))")它产生以下输出92233720368547758079.223372036854776e+18为什么两者的值完全不同9.223372036854776e+18-9223372036854775807=193仅供引用 最佳答案 您在输出中看到的Double的值只是一些有效数字的近似值。我们可以通过String(format:)看到更多有效数字print(String(format:"%.1f",Double(Int

swift - 收到 fatal error : Double value cannot be converted to Int because it is either infinite or NaN

该代码用于播客应用。importAVKitextensionCMTime{functoDisplayString()->String{lettotalSeconds=Int(CMTimeGetSeconds(self))letseconds=totalSeconds%60letminutes=totalSeconds/60lettimeFormatString=String(format:"%02d:%02d",minutes,seconds)returntimeFormatString}}选择要播放的播客时失败...导致音频播放但应用程序卡住,直到重新启动。编辑:错误发生在行lett

swift - 乘以 Swift Ints 时出错

这里是新的Swift爱好者!我正在关注ReyWenderlich的CandyCrushtutorial并在将两个Int值相乘时出错。我知道Swift是严格类型化的,这就是原因吗?我不允许在Swift中这样做吗?请注意我遇到问题的error注释。非常感谢在正确方向上提供的任何帮助!classArray2D{letcolumns:Intletrows:Intletarray:Arrayinit(columns:Int,rows:Int){self.columns=columnsself.rows=rowsarray=Array(count:rows*columns,repeatedValu

ios - 更新 Int32 类型的 CoreData 属性

我想获取核心数据属性的值,在获取此对象/值后我想更新它。这是我的代码:varnumberOfChanges:Int32?numberOfChanges=theme.valueForKey("numberThemeChanged")asInt32varnewValueThemeChanges:Int32?newValueThemeChanges=numberOfChanges+1theme.setValue(newValueThemeChanges,forKey:"numberThemeChanged")我收到以下错误:Type'Int32'doesnotconformtoprotoco

swift - 按值将 Int 传递给闭包

我有这个代码:forvari=0;i我正在尝试在闭包中使用i;除了将它分配给let,然后使用它(按值传递)之外,还有其他方法可以做到这一点吗?forvari=0;i 最佳答案 实际上有一种方法可以实现这一点,它被称为捕获列表:您只需将要捕获的变量列为用逗号分隔并括在方括号中的列表-在您的例子中,它只是[i]:forvari=0;i引用:ClosureExpression旧答案您可以将循环代码包含在闭包中并将索引作为闭包参数传​​递:forvari=0;i 关于swift-按值将Int传递

sqlite - 找不到接受类型为 'contains' 的参数列表的 '([Int], Expression<String>)' 的重载

我使用SQLite.swift我试过这个表达式:userTable.filter(contains([1,2,3,4,5],entryId))来自示例。但是我得到了以下错误:Cannotfindanoverloadfor'contains'thatacceptsanargumentlistoftype'([Int],Expression)'我怎样才能让它工作? 最佳答案 与Swift本身一样,SQLite.swift是类型安全的,因此您过滤的列表达式必须与您正在检查的数组的类型相同。看来entryId类型为Expression,这类

C++ 和 swift : Cannot invoke 'externalMethodName' with an argument list of '(Int)'

我正在努力构建一个使用自己编写的C++类的swift应用程序。我让它与所需的Objective-C++包装器一起工作,但现在我遇到了问题,我无法使用int参数调用外部方法。模糊地它适用于纯数字。示例如下:Swift类的片段:letvalidNumber=5letrefScen=CppToObjCWrapper()letresult=refScen.getCalcLoad(validNumber!)CppToObjCWrapper.mm中对应的wrapper方法:-(float)getCalcLoad:(int)value{RefScenLibCpprefScen;NSLog(@"Ins

ios - Int在不同iOS版本中的最大值是多少?

我正在构建这个应用程序,它需要将字符串转换为Int。所以我这样做了:Int(someString)但是,有时someString是一个非常大的数字。它的值超过了Int32的最大值。我知道如果用户使用不同的操作系统,Int的最大值可能会不同。我使用iOS9和iOS8来测试我的应用程序并且运行良好。这意味着Int的最大值是264-1,而不是32位的。但是其他iOS版本呢?如果Int的最大值较小,我的应用会产生错误的输出!我只想问一下Int在不同的iOS版本中各自的最大值是多少?哪个版本的最大值是32位? 最佳答案 Int在所有32位系统

swift - 排序 Int 的排序数组

是否有一种简洁明了的方法来比较2个排序的Int数组?像[1,4,7]应该在[1,5]之前但在[1,2,3,8]之后>嵌套的for循环可以做到,但我觉得它很麻烦。 最佳答案 一个可能的实现(内联解释,现在针对Swift3、4、5进行了更新):extensionArraywhereElement:Comparable{staticfuncBool{//Compareallelementsuptocommonlength,return//ifadifferenceisfound:for(l,r)inzip(lhs,rhs){iflr{re

ios - 将 UITextField 转换为 Int 或 Double

我对这段代码有疑问,学得很快,但我不明白为什么。我想做的是用户在两个TextField上输入两个数字,单击一个Button,然后在Label上得到结果。我知道TextField不允许Int,但只允许字符串,我知道有方法可以将字符串转换为Int,但它对我不起作用。代码如下:importUIKitclassViewController:UIViewController{@IBOutletweakvarfirstNumber:UITextField!@IBOutletweakvarsecondNumber:UITextField!@IBOutletweakvarresultButton:UI