Не могу понять, как использовать CPointer в Kotlin / Native; В моем исходном наборе iOS мне нужно собрать Kotlin эквивалент следующего кода Object- c (включая только соответствующие части кода):
//Object-C copyItemAtPath
NSError* error=nil;
[[NSFileManager defaultManager]copyItemAtPath:srcPath toPath:dstPath error:&error ];
if (error!=nil) {
NSLog(@"%@", error);
}
Но в 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
Я - код fi sh из C, это вопрос ко мне: Как преобразовать мой код Obj- C в kotlin / native? Правильный ли мой путь? (Результат недействителен.)
// the function definition
fun copyItemAtPath(srcPath: kotlin.String, toPath: kotlin.String, error:CPointer<ObjCObjectVar<platform.Foundation.NSError?>>?)