kotlin KMM:将字符串转换为NSString,收到警告“此案例永远不会成功”

toe95027  于 2023-01-26  发布在  Kotlin
关注(0)|答案(1)|浏览(168)

在我的KMM项目中,我有一个调用Objective-C predicateWithFormat方法的方法,当我试图将传递的字符串文本转换为NSString时,我得到了这个警告“这个转换永远不会成功”。

override fun elementWithPredicateText(text: String): AppElement {
        val predicate = NSPredicate.predicateWithFormat("label CONTAINS %@", text as NSString)
        val query = app.descendantsMatchingType(XCUIElementTypeAny).matchingPredicate(predicate)
        return UIElementWrapper(query)
    }

这里的问题,如果我不把这个字符串转换成NSString,它会得到一个构建错误,如下图所示。现在从字符串类型转换成NSString,构建可能会成功,虽然它有这个恼人的警告,所以我该如何解决这个警告?

使用的iOS方法。

@kotlin.commonizer.ObjCCallable public open external expect fun predicateWithFormat(predicateFormat: kotlin.String, vararg args: kotlin.Any?): platform.Foundation.NSPredicate { /* compiled code */ }
ajsxfq5m

ajsxfq5m1#

我相信当转换到NSString时,你会得到警告,这是Android Studio的bug。推荐将KotlinString转换到NSStringsee documentation on depreceted method

相关问题