【问题标题】:How to search particular contact from nsarray of nsarray如何从 nsarray 的 nsarray 中搜索特定联系人
【发布时间】:2023-03-15 08:02:01
【问题描述】:

我已按字母顺序存储联系人,因此我有一组用于联系人列表的数组,这些数组已显示在屏幕上。现在我想通过名称搜索联系人,但谓词在这里无法正常工作。我已经完成了下面的代码。

   filterArray.filterUsingPredicate(NSPredicate(format: "ANY SELF.name CONTAINS[cd] '\(tfSearchBar.text!)'", argumentArray: nil))

首先在过滤器数组中,我有所有联系人,但是当我搜索“a”时,它会给出联系人名称中包含“a”的所有部分数组。但我在这里卡住了。该部分的所有联系人的联系人名称中不必包含“a”。

例如

(
    A:(
        {
            name = "abc"
            number = "123456"
        }
        {
            name = "azx"
            number = "123456"
        }
      )
)

例如搜索“a”后的上述示例。当我搜索“ab”时,谓词返回相同的数组。不仅是第一个对象。任何仅查找没有嵌套谓词的第一个对象的方法。

【问题讨论】:

    标签: ios swift nsarray nspredicate


    【解决方案1】:

    我不确定你在谓词中使用“ANY”这个词想要完成什么,但这似乎是多余的。此代码在放入 Playground 时如您所描述的那样工作:

    import UIKit
    
    @objc class DataElement : NSObject {
        let name : String
        let number : String
    
        init(name : String, number : String) {
            self.name = name
            self.number = number
        }
    }
    
    let dataArray : NSArray = [
        DataElement(name: "abc", number: "123456"),
        DataElement(name: "azx", number: "689101")
    ]
    
    let searchTerm = "a"
    let predicate = NSPredicate(format: "SELF.name CONTAINS[cd] '\(searchTerm)'", argumentArray: nil)
    
    dataArray.filteredArrayUsingPredicate(predicate)
    

    【讨论】:

    • 这是字典数组而不是数组数组。我想要数组数组中的联系人
    猜你喜欢
    • 2014-12-27
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多