草庐IT

c++ - swift 中 uint8_t 的等价物是什么?

在obj-c/c++框架中有一个方法接受一个uint8_t和一个常规的int:-(bool)push:(uint8_t*)buflength:(int)len;我使用桥接器文件来访问此方法,但是当我使用UInt8和Int快速调用它时,出现以下错误:无法使用“(UInt8,length:Int)”类型的参数列表调用“push”我怎样才能让它发挥作用? 最佳答案 该方法需要一个指向UInt8类型元素数组的指针和一个Int32值。你可以这样做:varbuffer:[UInt8]=[0,1,2]yourObject.push(UnsafeM

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

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

swift - 使用 += 将字符附加到字符串时出错 : String is not identical to UInt8

当尝试使用+=运算符将Character附加到String时,出现以下错误:StringisnotidenticaltoUInt8错误发生在下面代码中的puzzleOutput+=char行:letpuzzleInput="greatmindsthinkalike"varpuzzleOutput=""forcharinpuzzleInput{switchchar{case"a","e","i","o","u":continuedefault:puzzleOutput+=char}}println(puzzleOutput)如何将Charater附加到String?

swift - {(Int)} 与 UInt8 不同

目前正在使用beta5版本的swift并且+=运算符肯定有变化funcdealCards1()->[Int]{foriin0...25{comp1PlayDeck+=shuffledDeck[i]}returncomp1PlayDeck}这会抛出'[(Int)]'isnotidenticalto'UInt8'我不太确定进行了哪些更改,但是这很令人困惑。 最佳答案 我怀疑错误是+=运算符的变化,它现在只组合Array,而不是Array的值.shuffledDeck[i]不返回Array。创建一个包含其值的数组是一种解决方法。示例:co

ios - Swift 中 SQLite 项目中的 UnsafePointer<Uint8> 问题

我们正在iOS和Swift中实现SQLite,而不使用包装器或Objective-C桥接。一切正常,除了进行查询和提取结果时。问题在于UnsafePointer在Swift中从SQLite返回如下:varquerySQL="SELECTaddress,phoneFROMCONTACTSWHERENAME='myName'"varcQuery=querySQL.cStringUsingEncoding(NSUTF8StringEncoding)varstatement:COpaquePointer=nilifsqlite3_prepare_v2(contactsDB,cQuery!,-1

ios - 在 Swift 中将 UIImage 转换为 UInt8 数组

全部!我一直在对此进行大量研究,并将几种不同的解决方案集成到我的项目中,但它们似乎都不起作用。我目前的解决方案是从thisthread借来的.但是,当我运行我的代码时,会发生两件事:像素阵列保持初始化但未填充(全为0)我遇到两个错误:CGBitmapContextCreate:不支持的参数组合:设置CGBITMAP_CONTEXT_LOG_ERRORS环境变量查看详情和CGContextDrawImage:invalidcontext0x0.Ifyouwanttoseethebacktrace,pleaseset有什么想法吗?这是我正在为我的Image类调用的当前内置函数:init?(

ios - 无法将类型 'Int' 的值转换为预期的参数类型 'UInt32'

我正在尝试在Swift中生成一个随机数:varamountOfQuestions=2varrandomNumber=Int(arc4random_uniform(amountOfQuestions-1))+1但这会导致错误:Cannotconvertvalueoftype'Int'toexpectedargumenttype'UInt32'问题是什么?关于如何解决此错误,我有什么想法吗? 最佳答案 将amountOfQuestions声明为UInt32:varamountOfQuestions:UInt32=2PS:如果您想在语法上

swift 3 : convert a null-terminated UnsafePointer<UInt8> to a string

我有一个capi,它返回一个空终止字符串,它是一个类型为unsignedchar*的数组。(对应于UnsafePointer)。Swift有初始化器String(validatingUTF8:),但参数必须是UnsafePointer(又名UnsafePointer),并且没有简单的方法可以在两者之间进行转换。如何将这个以null结尾的C字符串转换为Swift字符串? 最佳答案 在Swift3中,String有两个初始化器publicinit(cString:UnsafePointer)publicinit(cString:Unsa

swift - 为什么 UInt64 max 在 Swift 中等于 -1?

使用Swift,无论是在终端还是Playground,当我在新行输入以下内容时:UInt64.max我得到的结果值为-1。这是一个错误吗?编辑:示例$xcrunswiftWelcometoSwift!Type:helpforassistance.1>UInt64.max/2$R1:UInt64=92233720368547758072>UInt64.max/2+1$R2:UInt64=-92233720368547758083>UInt64.max$R3:UInt64=-14>println(UInt64.max/2)92233720368547758075>println(UInt6

arrays - swift 错误 "Cannot subscript a value of type [Uint8]"

大约过去一个小时我一直在为这个问题困惑,我的头发都快没了。我在AdventOfCode.com第4天玩得很开心(10月10日,会再次玩)并希望这个小功能起作用。(请不要评论我的代码不是多么漂亮。这意味着快速和肮脏,但现在只是肮脏。哎呀,我什至不知道代码是否有机会工作。任何人...)funccountDigestLeadingZeros(theDigest:[UInt8])->Int{vartheCount:Int=0print(theDigest[0])while((theCount0)){theCount++}returntheCount}错误发生在theDigest[theCoun