Swift:如何对数组中结构的子值使用UISearchResultsUpdating?

时间:2016-03-29 18:28:48

标签: ios arrays swift firebase

在这个UITableViewController中,我有一个结构数组:

struct UserItem {

let key: String!
let displayName: String!
let profilePictureUrl: String!
let ref: Firebase!

    init(snapshot: FDataSnapshot) {
        key = snapshot.key
        displayName = snapshot.value["displayName"] as! String
        profilePictureUrl = snapshot.value["profileImage"] as! String
        ref = snapshot.ref
    }
}

我有一个搜索栏,它使用UISearchResultsUpdating类和函数:

func updateSearchResultsForSearchController(searchController: UISearchController)

我尝试做的是在UserItem.displayName属性的搜索栏中使用NSPredicate过滤掉UserItem对象的数组。

我最近的尝试是将所有.displayName值放在[String]数组中并将其过滤成新的[String]数组,但这对我来说似乎有些混乱。我想简单地过滤[UserItem]数组。

我需要UserItem数组,以便我可以将我的segue中的唯一用户ID与用户配置文件进行比较。

有办法吗?

1 个答案:

答案 0 :(得分:1)

你必须使用谓词吗?如果没有,您可以使用闭包轻松过滤结构数组,如下所示:

MmAllocateContiguousMemory