菜鸟教程小白 发表于 2022-12-13 05:24:33

ios - 没有单元返回类型的Kotlin多平台Lambda调用


                                            <p>我有一个适用于Android和iOS的多平台Kotlin项目。通用模块中的功能编写如下:<br><br> <pre class="lang-py prettyprint-override"><code>fun test(successCallback: (String) -&gt; Unit, errorCallback: (Error) -&gt; Unit) {
    successCallback(&#34;success&#34;)
}
</code></pre><br>Android功能用法:<br><pre><code>Common.test(successCallback = {
                Log.d(TAG, it)
            },
            errorCallback = {
                Log.d(TAG, it)
            }
})
</code></pre><br>iOS使用功能:<br><pre><code>Common.test(successCallback: { it in
                print(it)
                return KotlinUnit()
            }, errorCallback: { error in
                print(error)
                return KotlinUnit()
            })
</code></pre><br>JVM世界似乎可以自行处理返回类型(单元)(无需返回任何内容),而您必须在iOS中返回<code>KotlinUnit()</code>。<br><br>我想在iOS上实现相同的目标(不使用<code>return KotlinUnit()</code>进行回调)</p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p>请参阅<a href="https://github.com/JetBrains/kotlin-native/pull/2968" rel="noreferrer noopener nofollow">https://github.com/JetBrains/kotlin-native/pull/2968</a>,它将在即将发布的Kotlin / Native版本中合并。</p>
                                   
                                                <p style="font-size: 20px;">关于ios - 没有单元返回类型的Kotlin多平台Lambda调用,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/56216840/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/56216840/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 没有单元返回类型的Kotlin多平台Lambda调用