Swift 转换:错误 - UnsafeMutablePointer

     2023-03-14     146

关键词:

【中文标题】Swift 转换:错误 - UnsafeMutablePointer【英文标题】:Swift conversion: ERROR - UnsafeMutablePointer 【发布时间】:2017-01-01 20:16:25 【问题描述】:

我正在尝试将我的 Swift 2 代码转换为最新的语法(Swift 3)。我收到以下错误:

无法使用类型为“(UnsafeMutableRawPointer!) 的参数列表调用类型“UnsafeMutablePointer”的初始化程序

Swift 2 代码:

let rawData = UnsafeMutablePointer<CUnsignedChar>(calloc(height * width * 4, Int(sizeof(CUnsignedChar))))

有人可以帮我解决这个转换语法问题吗?

【问题讨论】:

【参考方案1】:

calloc 返回一个“原始指针”(在 C 中相当于 void * 的 Swift)。 您可以使用assumingMemoryBound 将其转换为类型化指针:

let rawData = calloc(width * height, MemoryLayout<CUnsignedChar>.stride).assumingMemoryBound(to: CUnsignedChar.self)

或者使用UnsafeMutablePointerallocate()方法:

let rawData = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: width * height)
rawData.initialize(to: 0, count: width * height)
// ...

rawData.deinitialize()
rawData.deallocate(capacity: width * height)

【讨论】:

将 swift 2.3 转换为 swift 3 错误

】将swift2.3转换为swift3错误【英文标题】:Convertswift2.3toswift3error【发布时间】:2016-12-1815:09:46【问题描述】:我在xcode8.2中将swift2.3转换为swift3swift2.3:有代码,有代码,有代码,有代码,有代码funcplayAudio()self.stopAudio()letlessonObjec... 查看详情

转换 Swift2 -> Swift3:任何错误

】转换Swift2->Swift3:任何错误【英文标题】:ConversionSwift2->Swift3:ErrorswithAny【发布时间】:2017-01-1410:09:23【问题描述】:我正在使用来自https://github.com/brightec/CustomCollectionViewLayout的CustomCollectionViewLayout。在从Swift2转换到Swift3之... 查看详情

Swift 2 错误,转换为 JSON

】Swift2错误,转换为JSON【英文标题】:Swift2error,convertingtoJSON【发布时间】:2015-09-3015:54:01【问题描述】:我在swift2上遇到了一个错误,它很简单但我无法理解这是我开始为Swift2更新之前的代码:funcupdateWeatherInfo(latitude:CLLocationDe... 查看详情

Swift 2.0 - stringByAppendingPathComponent 错误转换 [重复]

】Swift2.0-stringByAppendingPathComponent错误转换[重复]【英文标题】:Swift2.0-stringByAppendingPathComponenterrorconversion[duplicate]【发布时间】:2015-10-1617:36:43【问题描述】:在从swift转换为swift2.0后,我已将所有应用程序的Xcode更新为7,但经过... 查看详情

转换为 Swift3 错误

】转换为Swift3错误【英文标题】:ConverttoSwift3error【发布时间】:2017-03-1206:28:04【问题描述】:Xcode转换为Swift3.0语法后,出现以下错误:错误:无法使用类型为“(qos_class_t)”的参数列表调用类型“Int”的初始化程序DispatchQueue... 查看详情

转换为 Swift 3 时出现 UITableView 错误

】转换为Swift3时出现UITableView错误【英文标题】:UITableViewerrorwhenconvertingtoSwift3【发布时间】:2019-07-1416:37:18【问题描述】:将旧应用程序从swift2.2更新到swift4。我必须使用swift3作为垫脚石。我转换为3但遇到以下错误:二元运算... 查看详情

SKPaymentTransaction(Swift 3)中的交易错误转换问题

】SKPaymentTransaction(Swift3)中的交易错误转换问题【英文标题】:TroublecastingErrorfromtransactioninSKPaymentTransaction(Swift3)【发布时间】:2016-09-2810:55:57【问题描述】:我正在尝试获取事务中的错误代码(Swift3):funcpaymentQueue(_queue:SKPaymentQ... 查看详情

处理 Swift 2.0 中的转换错误

】处理Swift2.0中的转换错误【英文标题】:HandlingaconversionerrorinSwift2.0【发布时间】:2015-11-0302:58:54【问题描述】:我有一个文本字段。在我的代码中,我将myTextField.text转换为整数。如果我想在有人输入Int以外的输入的情况下处... 查看详情

swift中的动态转换错误

】swift中的动态转换错误【英文标题】:Dynamiccasterrorinswift【发布时间】:2014-11-1211:34:44【问题描述】:目前我正在尝试遍历包含NSManagedObject的NSArray。当我尝试投射获取的对象时,它会给我一个错误。这是代码forvari=0;i<self.displ... 查看详情

向下转换“任何”时出现 Swift 错误

】向下转换“任何”时出现Swift错误【英文标题】:Swifterrorwhiledowncasting\'Any\'【发布时间】:2018-08-1204:01:11【问题描述】:以下代码与AppleDocumentation几乎完全相同,并且编译时没有错误:guardletfirstItem=(rawItems!as?Array<Dictionary<S... 查看详情

Swift错误无法转换类型'(AFHTTPRequestOperation?,AnyObject?)->()的值

】Swift错误无法转换类型\\\'(AFHTTPRequestOperation?,AnyObject?)->()的值【英文标题】:SwifterrorCannotconvertvalueoftype\'(AFHTTPRequestOperation?,AnyObject?)->()Swift错误无法转换类型\'(AFHTTPRequestOperation?,AnyObject?)->()的值【发... 查看详情

Swift 3 RKObjectRequestOperation 返回错误无法转换类型为 RKObjectRequestOperation

】Swift3RKObjectRequestOperation返回错误无法转换类型为RKObjectRequestOperation【英文标题】:Swift3RKObjectRequestOperationreturnserrorunabletoconvertoftypeRKObjectRequestOperation【发布时间】:2016-11-2919:44:26【问题描述】:我正在尝试将代码从现有应用程... 查看详情

无法转换类型的值,swift 2.0,错误处理

】无法转换类型的值,swift2.0,错误处理【英文标题】:cannotconvertvalueoftype,swift2.0,errorhandling【发布时间】:2015-10-2919:14:08【问题描述】:funcrefreshResults()lettheWidth=view.frame.size.widthlettheHeight=view.frame.size.heightmessageX=37.0messageY=2 查看详情

是啥导致了 Swift 中的“无法转换类型”错误?

】是啥导致了Swift中的“无法转换类型”错误?【英文标题】:Whatiscausingthis"Cannotconverttype"errorinSwift?是什么导致了Swift中的“无法转换类型”错误?【发布时间】:2019-02-2213:09:19【问题描述】:我想调用一个简单的api并返... 查看详情

将 XLPagerTabStrip 转换为 swift3 会导致错误

】将XLPagerTabStrip转换为swift3会导致错误【英文标题】:ConvertingXLPagerTabStriptoswift3causeserror【发布时间】:2016-09-2612:35:12【问题描述】:我试图在我的应用程序中实现XLPagerTabStrip,当我这样做时,xcode要求我转换代码。我将其更改... 查看详情

Swift 中的错误:(键:AnyObject,值:AnyObject)' 不能转换为 'NSDictionary'

】Swift中的错误:(键:AnyObject,值:AnyObject)\\\'不能转换为\\\'NSDictionary\\\'【英文标题】:ErrorinSwift:(key:AnyObject,value:AnyObject)\'isnotconvertibleto\'NSDictionary\'Swift中的错误:(键:AnyObject,值:AnyObject)\'不能转换为\'NSDictionary\'【发... 查看详情

在 Swift 中将可选绑定转换为错误处理的过程是啥?

】在Swift中将可选绑定转换为错误处理的过程是啥?【英文标题】:WhatistheprocesstotranslateoptionalbindingintoerrorhandlinginSwift?在Swift中将可选绑定转换为错误处理的过程是什么?【发布时间】:2018-07-0219:29:50【问题描述】:我正在学习... 查看详情

Swift - NSJsonSerialization - “无法将数据转换为围绕字符的字符串”错误

】Swift-NSJsonSerialization-“无法将数据转换为围绕字符的字符串”错误【英文标题】:Swift-NSJsonSerialization-"Unabletoconvertdatatostringaroundcharacter"error【发布时间】:2015-12-2321:46:12【问题描述】:尝试发布带有字典作为参数的url时... 查看详情