Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Kotlin/Native中使用CPointer_Ios_Kotlin Multiplatform_Kotlin Native - Fatal编程技术网

Ios 如何在Kotlin/Native中使用CPointer

Ios 如何在Kotlin/Native中使用CPointer,ios,kotlin-multiplatform,kotlin-native,Ios,Kotlin Multiplatform,Kotlin Native,我不知道如何在Kotlin/Native中使用CPointer;在我的iOS源代码集中,我需要构建Kotlin等效于以下Object-c代码(仅包括代码的相关部分): 但是在Kotlin/Native中,我不知道如何转换代码;我尝试了以下kotlin代码,但失败了 //I try to read error info val errorPtr = allocPointerTo<ObjCObjectVar<NSError?>>()

我不知道如何在Kotlin/Native中使用CPointer;在我的iOS源代码集中,我需要构建Kotlin等效于以下Object-c代码(仅包括代码的相关部分):

但是在Kotlin/Native中,我不知道如何转换代码;我尝试了以下kotlin代码,但失败了

        //I try to read error info 
        val errorPtr = allocPointerTo<ObjCObjectVar<NSError?>>()
        NSFileManager.defaultManager.copyItemAtPath("source", target,errorPtr.value)
        Napier.e("[KNDraftCopy]${errorPtr.pointed?.value?.localizedDescription}")//null
        Napier.e("[KNDraftCopy]${errorPtr.pointed?.value}")//null
        Napier.e("[KNDraftCopy]${errorPtr.pointed}")//null
        Napier.e("[KNDraftCopy]${errorPtr}")//kotlinx.cinterop.NativePointed@d063d3a8
//我试图读取错误信息
val errorPtr=allocPointerTo()
NSFileManager.defaultManager.copyItemAtPath(“源”、目标、errorPtr.value)
Napier.e(“[KNDraftCopy]${errorPtr.pointed?.value?.localizedDescription}”)//null
Napier.e(“[KNDraftCopy]${errorPtr.pointed?.value}”)//null
Napier.e(“[KNDraftCopy]${errorPtr.pointed}”)//null
Napier.e(“[KNDraftCopy]${errorPtr}”)///kotlinx.cinterop。NativePointed@d063d3a8
我是一条C代码的鱼,我的问题是: 如何将我的Obj-C代码转换为kotlin/native? 我的方法对吗?(结果无效。)

//函数定义
有趣的copyItemAtPath(srcPath:kotlin.String,toPath:kotlin.String,错误:CPointer?)

请尝试以下操作:``memScoped{val errorPtr:ObjCObjectVar=alloc()NSFileManager.defaultManager.copyItemAtPath(“source”,target,errorPtr.ptr)println(errorPtr.value)}``非常感谢,ptr就是这样工作的
        //I try to read error info 
        val errorPtr = allocPointerTo<ObjCObjectVar<NSError?>>()
        NSFileManager.defaultManager.copyItemAtPath("source", target,errorPtr.value)
        Napier.e("[KNDraftCopy]${errorPtr.pointed?.value?.localizedDescription}")//null
        Napier.e("[KNDraftCopy]${errorPtr.pointed?.value}")//null
        Napier.e("[KNDraftCopy]${errorPtr.pointed}")//null
        Napier.e("[KNDraftCopy]${errorPtr}")//kotlinx.cinterop.NativePointed@d063d3a8
// the function definition
fun copyItemAtPath(srcPath: kotlin.String, toPath: kotlin.String, error:CPointer<ObjCObjectVar<platform.Foundation.NSError?>>?)