在我的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 */ }
1条答案
按热度按时间ajsxfq5m1#
我相信当转换到
NSString
时,你会得到警告,这是Android Studio的bug。推荐将KotlinString
转换到NSString
see documentation on depreceted method。