标签: nsarray

NSSet到NSArray转换调用objectAtIndex?

我正在尝试通过删除可见区域外的所有注释来更新MKMapView,并在可见区域内添加和删除一些注释.这是我的代码:

NSSet *visibleAnnotations = [mapView annotationsInMapRect:[mapView visibleMapRect]];
NSSet *allAnnotations = [NSSet setWithArray:[mapView annotations]];
NSMutableSet *nonVisibleAnnotations = [NSMutableSet setWithSet:allAnnotations];
[nonVisibleAnnotations minusSet:visibleAnnotations];
[mapView removeAnnotations:(NSArray *)nonVisibleAnnotations];

NSMutableSet *newAnnotations = [NSMutableSet setWithArray:[_zoomLevels objectAtIndex:clusterLevel]];
[newAnnotations minusSet:visibleAnnotations];
[mapView addAnnotations:(NSArray *)newAnnotations];
Run Code Online (Sandbox Code Playgroud)

这给了我错误- [__ NSCFSet objectAtIndex:]:在我将newAnnotations转换为NSArray的最后一行之后发送到实例0x13cd40的无法识别的选择器然后添加注释.是否有关于将数组转换为集合导致此问题的内容?如果是这样,有没有办法围绕它?

objective-c nsarray nsset mkmapview ios

44
推荐指数
3
解决办法
5万
查看次数

代表的非保留数组

在Cocoa Touch项目中,我需要一个特定的类,不仅要有一个委托对象,还要有很多委托对象.

看起来我应该为这些代表创建一个NSArray; 问题是NSArray会保留所有这些代理,它不应该保留(按惯例对象不应该保留它们的代理).

我应该编写自己的数组类来防止保留还是有更简单的方法?谢谢!

iphone cocoa-touch delegates retain nsarray

43
推荐指数
5
解决办法
1万
查看次数

如何获取NSArray的最后一个对象

所以我有一个数组,其中的项目数量可能会有所不同.我想知道无论如何我能得到最后一个对象NSArray?我确实想过一个int计数器来跟踪数组中的项目数量,但这看起来太麻烦了.

有谁知道这比这更好吗?

cocoa objective-c nsarray

42
推荐指数
3
解决办法
4万
查看次数

Objective-C:集合枚举块中的`continue`?

如果我有一个NSArray并且我enumerateUsingBlock用来遍历数组中的元素,但在某些情况下我需要跳过循环体并转到下一个元素,continue块中是否有任何等价物,或者我可以continue直接使用?

谢谢!

更新:

只是想澄清一下,我想做的是:

for (int i = 0 ; i < 10 ; i++)
{
    if (i == 5)
    {
        continue;
    }
    // do something with i
}
Run Code Online (Sandbox Code Playgroud)

我需要的是continue块中的等价物.

objective-c nsarray ios objective-c-blocks

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

如何将CGPoint添加到NSMutableArray?

我想将我的CGPoint存储到NSMutable数组中,所以,我有这样的方法:

[self.points addObject:CGPointMake(x, y)];
Run Code Online (Sandbox Code Playgroud)

但我得到了错误,它说:

"addObject"的参数1的类型不兼容.

所以,我查看了API,

- (void)addObject:(id)anObject
Run Code Online (Sandbox Code Playgroud)

anObject要添加到接收者内容末尾的对象.该值不得为零.

所以,我认为" CGPointMake "可以创建一个Object,但它无法分配.怎么了?

iphone objective-c nsarray cgpoint

41
推荐指数
3
解决办法
3万
查看次数

在Objective-C中以逗号分隔的字符串到NSArray

所以我没有数组的经验...但我需要用一个来填充UIPickerView.我通过HTTP(NSURLConnection)获取对象列表.这很好用.目前,响应以逗号分隔列表的形式存储在NSString中.我需要将其转换为数组.我认为这是我需要的数组类型:

NSArray  * myArray2 = [NSArray arrayWithObjects:@"foo",@"bar",@"baz",nil];
Run Code Online (Sandbox Code Playgroud)

也许我太复杂了......我真的不确定.PickerView已经有一个数组,我已经设置好了,所以要在PickerView数组中添加一个项目,我使用这个代码:

[pickerArray addObject:@"Item 1"];
Run Code Online (Sandbox Code Playgroud)

那么......我如何将逗号分隔的字符串(第1项,第2项,第3项,...)中的项分隔成单独的数组项([pickerArray addObject:@"item 1"];)??

csv arrays objective-c nsarray

41
推荐指数
1
解决办法
5万
查看次数

40
推荐指数
2
解决办法
1万
查看次数

在Objective-C中连接两个数组

如何在Objective-C中将两个数组连接成一个数组?

objective-c nsarray

40
推荐指数
2
解决办法
2万
查看次数

美化NSArray和NSDictionary的NSLog

我正在处理深度嵌套的NSArray和NSDictionary,而且至少可以说它非常耗时.[data objectatindex:0] valueForKey:@"blah"]等等

有没有人知道一个漂亮的iOS类别,以递归方式记录结构,突出显示类型并显示值?

可能要问一点但你永远不知道:)

nsdictionary nsarray ios

40
推荐指数
2
解决办法
4万
查看次数

如何在NSArray中删除NSString的前导和尾随空格?

我有一个NSArray声明如下:

@property (nonatomic, strong) NSArray *arrayRefineSubjectCode;
Run Code Online (Sandbox Code Playgroud)

我手动填写数组元素如下:

     arrayRefineSubjectCode = [NSArray arrayWithObjects:
                              @"  BKKC 2061",
                              @"   BKKS 2631   ",
                              @"BKKS 2381      ",
                              nil];
Run Code Online (Sandbox Code Playgroud)

那么如何删除开始和结束的空格并使每个数组元素变为:

     arrayRefineSubjectCode = [NSArray arrayWithObjects:
                              @"BKKC 2061",
                              @"BKKS 2631",
                              @"BKKS 2381",
                              nil];
Run Code Online (Sandbox Code Playgroud)

我尝试使用"stringByTrimmingCharactersInSet:"但它只适用于NSString.有点困惑在这里.请帮忙...

iphone objective-c nsstring nsarray

40
推荐指数
2
解决办法
3万
查看次数