草庐IT

int_void

全部标签

c - 在 swift 5 中将 void* 参数传递给 c 函数时,'withUnsafeBytes' 被弃用警告

我有一个使用外部提供的c库快速解析FIT文件的库。解析函数将void*data作为参数.为了调用该函数,我使用data.withUnsafeBytes({(ptr:UnsafePointer)in...}转换数据构建c函数的参数并且它工作正常。将Xcode升级到swift5后,我现在收到弃用警告“withUnsafeBytes”已弃用:使用withUnsafeBytes(_:(UnsafeRawBufferPointer)throws->R)rethrows->R相反我不知道如何修复代码以移除已弃用的警告。代码在swift4中运行良好且没有警告我试图将闭包中的参数更改为UnsafeRa

ios - Signed Hex 到 Signed Int Swift

我见过很多将hex转换为int的问题,但这些都是unsigned->unsigned的变体。如何将带符号的十六进制转换为Int?例如。somefunc('0xfffff830')=-2000 最佳答案 您的问题暗示您正在处理32位有符号整数(否则0xfffff830不能被认为是否定的),所以这会起作用:letnum="0xfffff830"letx=Int32(truncatingBitPattern:strtoul(num,nil,16))println(x)//-2000strtoul()将十六进制字符串转换为无符号整数UInt

ios - 无法使用 JSON 类型的参数列表调用类型 'Int' 的初始值设定项

为什么我无法将JSON响应中的字符串值转换为Int?它返回下一个错误:Cannotinvokeinitializerfortype'Int'withanargumentlistoftype'(JSON)'当我尝试:Int(json[i]["id"])如何将其转换为Int? 最佳答案 我假设您使用的是SwiftyJSON.在这种情况下,您有两个选择:可选的getter:ifletid=json[i]["id"].int{//dosomething}非可选的getter:letid:Int=json[i]["id"].intValue

Swift 无法使用类型为 '*' 的参数列表调用 '(Int, Int)'

所以我尝试编写一些基本的Swift,我写道:functimesByHundred(d:Int){returnd*100}并且编译器说“不能用类型为‘(Int,IntegerLiteralConvertible)’的参数列表调用‘*’”。所以我将其更改为:functimesByHundred(d:Int){lete:Int=100returnd*e}并且编译器说“不能用类型为‘(Int,Int)’的参数列表调用‘*’”。如果不是两个整数,我什至可以相乘什么?这里有一些类似的问题,但他们都有人试图对不同类型进行操作。 最佳答案 编译器错

swift - "var items = [Int]()"中括号的用途是什么?

我是Swift的新手,正在尝试学习它的语法。我在网上看到这段代码。varitems=[Int]()我知道var=声明一个变量items=变量的名称是'items'[Int]=Int数组但是,我不确定[Int]之后的()的用途。我知道没有()代码将无法编译,但它的目的是什么? 最佳答案 它正在初始化一个包含Int的Array的新实例。它是这种语法的简写:varitems=Array()而不是Array对于您可以使用的类型[Int]反而。第三种变体是显式声明类型,然后分配一个空数组。varitems:[Int]=[]

ios - 在 Swift 中从字符串转换为 int

因此,我查看了与此相关的所有其他问题,并尝试实现建议的解决方案,但无济于事。我在ViewController中有两个文本字段,用户可以在其中输入数字,然后允许执行两个数字的加法或减法。除非我弄错了,否则文本字段是字符串,需要先转换为整数才能进行计算。不过,我对这种转换没有任何运气。任何正确方向的建议将不胜感激。这是适用的代码:letfirstInput:Int?=Int(firstNumber)letsecondInput:Int?=Int(secondNumber)varresult=0@IBOutletweakvarfirstNumber:UITextField!@IBOutlet

ios - 如何检查常量中的 Int 是否与 CountableClosedRange<Int> 中的 Int 匹配

我是编程新手。自学所以想上网求助。我想看看我存储在常量中的Int是否匹配CountableClosedRange中的单个数字,如果是,则吐出bool值true。见下文:letphysics=76letmath=79lethistory=94letlanguage=98letaPlus=[95...100]letdidPhysicsGetA=physics==aPlus76显然不在该范围内,因此在这种情况下,我希望didPhysicsGetA返回为false。我该怎么做,有更好的方法吗? 最佳答案 []表示一个数组。您只需要一个范围,

arrays - 计算 Int Optionals 数组中空值的数量

我刚刚开始使用Swift并使用可选项。使用generateRandomArrayOfIntsAndNils()后努力计算测试数组中的nils数这是我要采用的方法:letarray1:[Int?]array1=generateRandomArrayOfIntsAndNils()\vartotal=0foriinarray1{if(array1[i]==nil){total+=1}}print(total)如有任何建议或指导,我们将不胜感激。 最佳答案 你可以这样做:letcountNils=array1.filter({$0==nil

swift - 如何在 Swift 中 NSLog 一个可选的 Int?

NSLog仍然存在于Swift中,并提供了一些println不可用的额外功能,例如时间戳、模块和线程。但是,我不确定如何记录可选的,例如可选的Int。记录一个未包装的可选工作正常,例如ifleti=myIndex{NSLog("%@i%d",__FUNCTION__,i)}尝试记录myIndex,我希望它是一个对象,因此使用格式说明符%@;NSLog("%@myIndex%@",__FUNCTION__,myIndex)给出构建错误:Valueofoptionaltype'Int?'notunwrapped;didyoumeantouse'!'or'?'?我如何使用NSLog-不是pr

swift 一元运算符 '++' 不能应用于 'Int!' 类型的操作数

在基本运算符部分,Swift编程语言指南指出++是有效运算符:“MorecomplexexamplesincludethelogicalANDoperator&&(asinifenteredDoorCode&&passedRetinaScan)andtheincrementoperator++i,whichisashortcuttoincreasethevalueofiby1.”ExcerptFrom:AppleInc.“TheSwiftProgrammingLanguage.”iBooks.https://itun.es/gb/jEUH0.l但是,在Playground上尝试这样做时