问题标签 [cfarraybsearchvalues]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1279 浏览

iphone - 搜索 NSArray 包含 NSDictionary,具有“时间效率”

我知道已经有很多问题被问到了,但是我要再提出一个问题。我有一个数组包含大量(数千条记录)NSDictionary格式的数据,我正在尝试在字典中的键中执行搜索到数组中。

我正在UITextField - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; 数据源方法中执行搜索,

我的搜索要求在整个字符串中,

示例字符串,

aaa, abeb, abcd, abbec 类似字符串

搜索流程,

如果a返回我所有的字符串,

如果aa只返回 aaa,

如果ab返回abeb, abcd, abbec喜欢,

重要的是,如果cd它只返回 abcd

我用这些方法试过了,

使用NSPredicates

另一种方式 - 通过迭代

这两种方法都运行良好,结果如我所料,但仅在模拟器中!当我在设备中测试相同的内容时,根据搜索的扩展,它大约需要 1 / 2 / 3 秒,首先说如果我输入,a它需要 3 秒,因为aa它需要大约 2 秒,依此类推。IT LOOKS CLUMSY ON DEVICE, ANY PRESSED KEY WILL BE REMAIN HIGHLIGHTED UNTIL SEARCH NOT DONE.

有什么方法可以让我使用我正在使用的相同方法或任何其他替代方法执行更快的搜索!

更新 1

还尝试使用CFArrayBSearchValues它只返回搜索字符串的索引,但我想要返回所有匹配的字符串的东西。

更新 2

As per the Alladinian comment, I performed search operation in background thread, yes now its not lock UI, but still searching is too slow, What I'm doing is, performing a selector for some delay say 0.25 seconds, also cancelling any previous selector calls, and then performing searching in background, also reloading table in main thread. Its working like, If I type character with some delay, its works good, but if I type whole word at once, it will loading / updating table as per the characters pressed, at last it will show me the actual output, takes 3-4 seconds for showing the actual content.

Any suggestion or help highly appreciated!

0 投票
1 回答
271 浏览

swift - 从 CFArray 获取值时出错

我正在尝试从通讯录中获取联系人。我的代码在 Objective C 中正常工作,但是当我将其转换为 swift 时出现错误

无法将“Swift.UnsafePointer<()>”类型的值转换为“Swift.AnyObject”

下面是我的代码

如何将记录转换为 ABRecordRef。请帮忙

0 投票
0 回答
26 浏览

ios - 将 CFArray 中的项目从索引移动到索引

我有一个CFArrayof ints,我想将intat 索引移动i到 index j。我已经四处寻找,但我找不到任何东西。有谁知道该怎么做?

0 投票
3 回答
3189 浏览

objective-c - 什么是 CFArray 以及 CFArray 与 NSArray 之间的区别

这可能是一个重复的问题,但我浏览了这么多博客和文档,但我仍然无法弄清楚什么是 CFArray。

就性能而言,哪一个是最好的,何时使用以及哪种情况。请在这个话题上有所启发。