gpt4 book ai didi

ios - NSCaseInsensitiveSearch RangeOfString 搜索 Swift

转载 作者:行者123 更新时间:2023-11-29 02:01:53 26 4
gpt4 key购买 nike

我正在尝试快速编写以下代码,但在这样做时遇到了问题:

目标 - C:

NSArray * seachArray = [sessionSearchResults filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(ProductModel* evaluatedObject, NSDictionary *bindings) {
return [evaluatedObject.productName rangeOfString:searchString options:NSCaseInsensitiveSearch].location != NSNotFound;
}]];

Swift(我目前拥有的)

func searchDisplayController(controller: UISearchDisplayController, shouldReloadTableForSearchString searchString: String!) -> Bool {

let filteredArray = searchArray.filter { (session: ProductModel) -> Bool in
//Contains String?
return session.productName == searchString
}

var S : String
for S in filteredArray {
println(S)
}

return true
}

只是好奇。有没有办法在不导入基础的情况下实现这一目标?

最佳答案

简短回答:否。

Swift 在它的类和基础类之间有直接的桥接,例如字符串到 NSString。

NSString 拥有非常丰富的方法集。不要害怕基金会,拥抱它。

但是,这意味着导入 Foundation。

您的替代方案是编写自己的 native Swift 函数来替换 Foundation API。如果你愿意的话,你可以在这里或那里为一个函数这样做,但这似乎很荒谬。基础类背后有数百万行工业级、高效、经过良好测试的代码。它们是您的运行时环境的一部分。学习使用它们。

关于ios - NSCaseInsensitiveSearch RangeOfString 搜索 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30261581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com