![]() |
聪明的花生 · day19-AJAX:post使用者輸入/表 ...· 1 年前 · |
![]() |
俊逸的奔马 · mysql 判断null 和 空字符串 ...· 1 年前 · |
![]() |
乖乖的骆驼 · ubuntu - Vagrant ...· 1 年前 · |
![]() |
唠叨的豌豆 · python 3.9 numpy ...· 1 年前 · |
我有一个
NSMutableArray
,它本身在里面有很多数组。在每个数组中,在所有索引中,它们还具有下面给出的类的自定义对象。
Class User:NSObject{
var name = ""
var userName = ""
var email = ""
var age = 0
var gender = ""
}
我想根据两个对象过滤这个嵌套数组。例如,如果用户在searchBar中键入一些文本,并检查该嵌套数组中的文本是否与名称和/或userName相匹配。
发布于 2016-09-20 21:40:24
let textToSearch:String = "some text"
for nestedArray in myArray {
for item:User in nestedArray
if user.name.contains(textToSearch) || user.userName.contains(textToSearch)
print("found")
}
发布于 2016-09-20 22:06:46
let nestedArray: [[User]] = [[user1, user2], [user3], [user4, user5]]
let searchName = "foo"
let filteredArray = nestedArray.map({
return $0.filter({ $0.name == searchName })
}).filter({ $0.count > 0 })
这是一种纯粹的函数式方法,它会产生一个新的嵌套数组,其中只包含具有匹配用户的数组,并且这些数组也将只包含匹配的用户。
发布于 2016-09-20 22:08:34
一些建议
结构更适合于模型值。
struct User {
let name: String
let userName: String