首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有CLRegion对象的NSSet

具有CLRegion对象的NSSet
EN

Stack Overflow用户
提问于 2013-05-12 23:43:01
回答 1查看 378关注 0票数 0

我有两个集合,一个是使用

代码语言:javascript
复制
NSMutableSet *monitoredRegionSet = [[locationManager monitoredRegions]mutableCopy];

而另一个则是使用

代码语言:javascript
复制
NSMutableSet *regionSet = [NSMutableSet setWithCapacity:regionChunks.count];
CLRegion *region = [[CLRegion alloc] initCircularRegionWithCenter:coordinate radius:radius        
identifier:regionString];
[regionSet addObject:region];

当我尝试在它们之间设置操作时,它不是works.Should,我实现了CLRegion的一个类别,并实现了isEqual:和works.Should: methods.Is,这是一种更好的方法。

代码语言:javascript
复制
[monitoredRegionSet intersectSet:regionSet];
[monitoredRegionSet minusSet:regionSet];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-13 01:34:24

代码语言:javascript
复制
CLRegion *region = 
    [[CLRegion alloc] initCircularRegionWithCenter:coordinate 
        radius:radius        
    identifier:regionString];

这是一个全新的、不同的region对象。在没有任何内置的区域相等概念的情况下,可以保证包含此区域对象的集合与先前存在的区域对象集合之间不存在交集。

正如您所暗示的那样,您可以使用CLRegion isEqual:hash。但这是你真的想做的事情吗?一个更好的问题可能是:你实际上想在这里完成什么?例如,直接从第一个集合绘制第二个集合的区域可能更合适,也更简单。

编辑:你最简单的方法可能是这样:

https://stackoverflow.com/a/7197192/341994

只需停止监视所有区域,并重新开始一组新的区域(当然,其中一些区域可能恰好与您已经在监视的区域相同)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16509066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档