gpt4 book ai didi

ios - 构造具有唯一中心的 UIView 对象的 NSArray

转载 作者:行者123 更新时间:2023-11-29 03:34:40 25 4
gpt4 key购买 nike

我有一个自定义 UIView 对象数组,其中有 2 个或多个具有相同中心的对象,并且我必须从中构造另一个具有不同中心的数组。最好的方法是什么?

我尝试使用下面的代码,但它不起作用。

self.distinctObjects = [NSMutableArray arrayWithCapacity:iAllObjects.count];

for (MyCustomView *customView in iAllObjects)
{
BOOL hasDuplicate = [[self.distinctObjects filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF.center == %@", customView.center]] count] > 0;

if (!hasDuplicate) {
[self.distinctObjects addObject:customView];
}
}

最佳答案

你不能在 NSPredicate 中使用 struct(在你的例子中 center 是一个 CGPoint) .直接比较浮点值也不是一个好主意。你应该关注this answer .只需将 [annotation coordinate].latitude 替换为 myView.center.x,将 [annotation coordinate].longitude 替换为 myView.center。 y 等等。这应该很容易。

顺便说一下,您的代码复杂度为 O(n^2),但如果数组很小,这可能不是问题。

关于ios - 构造具有唯一中心的 UIView 对象的 NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19349091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com