小编gro*_*ald的帖子

使用NSPredicate在两个数组中匹配id

你好,我有一个简单的问题但我无法处理它.

  • 我有一个Modelclass'Location',它包含一个带有Category ID(12,23,56)的数组.
  • 然后我有一个包含所有可用类别ID的数组(1,2,3,4,5,6,7,...)
  • 所有这些类别的ID都显示在TableView中,并且能够选择与否.
  • 我在MapView(注释类是位置)上显示了一个标记,它应该根据所提到的Filter TableView中过滤器的选择来显示.

我需要实现一个"按类别筛选"功能,该功能会删除所有标记并再次添加它们,但这只是基于列表中的选择.

所以我需要将数组与位置模型中的filter-id进行比较,并将数组与TableView中的所有Filter-ID进行比较.我使用了以下功能:

for (Location *currLocation in arrListOfLocationsNearby) {
Run Code Online (Sandbox Code Playgroud)

for(NSrtring*currKatId in currLocation.arrKatIds){

NSInteger intCurrKatId = [currKatId integerValue];
NSLog(@"Current KatId %@ id: %d \n", currLocation.strAdr, intCurrKatId);

for (Filter *currFilter in [SDM getSharedDataManager].arrListOfFilterOptions) {

 if (currFilter.isSelected) {

  NSInteger intCurrFilterId = [currFilter.strAtt_id intValue];
  NSLog(@"Current Filter %@ id: %d \n", currFilter.strAtt_text, intCurrFilterId);

  if ([currKatId intValue] == [currFilter.strAtt_id intValue]) {
   currLocation.isVisible = YES;
  }else {
   currLocation.isVisible = NO;
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

}}

我知道这将是循环通过一切的最无效的方式.我想以某种方式使用NSPredicate,但我以前从未使用它们,我找不到我的问题的例子.

你们有什么提示吗?

关于m.

iphone objective-c nspredicate

4
推荐指数
1
解决办法
5020
查看次数

InApp Purchase,SKProduct本地化属性的问题

我在我的应用程序中实现了InApp购买商店.我有英语和德语作为语言.但我总是从SKProducts获得德国标题和描述.我正在调用正确的localizedDescription localizedTitle方法,所以这应该不是问题,根据文档.

任何人都可以帮我解决这个问题吗?

iphone localized

3
推荐指数
1
解决办法
1909
查看次数

如何从这个字符串"2010-11-01"获得NSDate

任何人都可以告诉我为什么我不能从这个字符串"2010-11-01"获得正确的NSDate?

iphone nsdate

0
推荐指数
1
解决办法
343
查看次数

标签 统计

iphone ×3

localized ×1

nsdate ×1

nspredicate ×1

objective-c ×1