我正在尝试在 KMM 应用程序中创建冒泡排序。现在 KMM func 从本机端获取参数并与应用程序的 KMM 端进行通信,并且应该将排序后的数组返回到本机端。现在,我心中几乎没有怀疑。
- 我是否正确地在 swift 中声明了 kotlinArray?如果我尝试将它指定为普通的 swift 数组,它就无法转换为 Kotlin 数组并给我转换错误。所以这是我想出的。那么这是从 swift 与 KotlinArray 进行通信的正确方法吗?
fun bubbleSort
当我尝试在本机项目上运行它时效果很好。但是当我试图运行 KMM 项目时,它只是给了我一个垃圾值。那么任何人都可以帮助我了解如何实现这一点吗?
以下是我的源代码。
SourceCode for ContentView.swift:
func greet() -> String {
let array = KotlinIntArray(size: 5)
array.set(index: 0, value: 2)
array.set(index: 1, value: 15)
array.set(index: 2, value: 1)
array.set(index: 3, value: 8)
array.set(index: 4, value: 4)
let sortedArray = Greeting().bubbleSort(arr:array)
print("Entered Array :\(array)"). //output: Entered Array :kotlin.IntArray@187bd58
print("Sorted Array :\(sortedArray)") //Output: Sorted Array :kotlin.IntArray@187bd58
return Greeting().greeting()
}
SourceCode for Greetings.kt:
package com.example.kmm_perofomance.shared
class Greeting {
fun greeting(): String {
return "Hello, ${Platform().platform}!"
}
fun bubbleSort(arr:IntArray):IntArray{
for (i in 1..arr.count()) {
for (j in 1..arr.count() - i) {
if( arr[j] < arr[j-1]) {
var temp = arr[j-1]
arr[j-1] = arr[j]
arr[j] = temp
}
}
}
return arr
}
}
任何帮助将非常感激。