- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我在数组中有“UserDetails”结构对象。我想从数组中过滤对象。但是 Swift 数组中没有“filteredArrayUsingPredicate”选项。
我的数组创建
var arrayOfUsers:UserDetails[] = UserDetails[]()
我的用户详细信息代码是
struct UserDetails{
var userName:String
var userID:String
var userAge:String
func userDescription()->String{
return "name " + userName + "age " + userID
}
}
我创建对象的代码
for a in 1...1000{
var user:UserDetails = UserDetails(userName: "name", userID: String(a), userAge: "22")
arrayOfUsers.append(user)
}
现在我想过滤 arrayOfUsers
用户 ID 为“1”的用户。
最佳答案
Swift 数组有一个采用闭包的 .filter
方法——这将完成它:
let filteredArray = arrayOfUsers.filter() { $0.userID == "1" }
可以通过多种方式简化闭包。闭包的完整声明看起来更像这样:
var filteredArray = arrayOfUsers.filter( { (user: UserDetails) -> Bool in
return user.userID == "1"
})
两者的区别在于,第一种使用尾随闭包语法、速记参数名称、类型推断和隐式返回。你可以阅读more about closures in Apple's Swift documentation .
关于swift - filteredArrayUsingPredicate 在 swift 数组中不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24382580/
我的工作: NSPredicate *predicate = [NSPredicate predicateWithFormat: @"SELF.street contains[c] %@ OR
如何执行 NSArray filteredArrayUsingPredicate 谓词是一个方法?这就是这里的简单代码示例的样子? 我一直在尝试遍历谓词 doco,但有点困惑。我可以看到它是如何进行简
我正在使用 [NSArray FilteredArrayUsingPredicate] 来获取与 20,000 个对象的原始数组中的某些条件匹配的对象数组。是否可以限制此方法返回的结果数量以加快速度?
是否有可能在不重新调用数据库层的情况下过滤 NSFetchedResultsController 的结果,就像我使用带有“filteredArrayUsingPredicate”的 NSArray 一
我对“谓词”有一点疑问 我有 NSArray (datesArray) 组成: ( "2011-11-30", "2011-11-28", "2011-11-25" ) 和另一个 NSArray (l
我不明白如何使用谓词,我有一段很长的代码来按属性“类型”从数组中过滤对象,突然间我看到了可以让我的生活更美好的方法“filteredArrayUsingPredicate”。我尝试写谓词,但总是出错;
当需要过滤 NSArray 以获取返回数组中项目的子集时,哪种方法更频繁且在边缘情况下更快? 最佳答案 以下测试(在 Release 模式下编译,在 Mac Pro 上执行)表明如果您使用 filte
我在数组中有“UserDetails”结构对象。我想从数组中过滤对象。但是 Swift 数组中没有“filteredArrayUsingPredicate”选项。 我的数组创建 var arrayOf
我已经使用 CoreData 获取了一些项目,并且我想使用 FilteredArrayUsingPredicate 进一步过滤这些结果,这给我带来了一些问题。 核心数据获取: NSFetchReque
现在我在用 let array = (displayNames as NSArray).filteredArrayUsingPredicate(searchPredicate) displayName
我正在尝试使用 NSArray 的 filteredArrayUsingPredicate: 方法来过滤核心数据托管对象的数组。这是一个大纲: NSArray *array = self.fetche
这里是一个例子,根据当前时间过滤具有开始时间和结束时间的数组。这工作正常: 问题:但在这里我想知道谓词选取值的 collectionArr 的索引位置。 NSDate* currentDate = [
以下代码在带有 Xcode 6 的 iOS 8 上运行良好,但在 iOS 8 和 iOS 9 上使用 Xcode 7 编译时在调试中抛出 objec_exception_thrown。我正在为 iOS
我是一名优秀的程序员,十分优秀!