标签: nsarray

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

为什么(复制,非原子)NSMutableArray属性创建NSArrays?

我犯了一个错误,同时创造一个TableView中class,并且意外地保持我@propertycopy,当我定义它:

@property (copy, nonatomic) NSMutableArray *words; 
Run Code Online (Sandbox Code Playgroud)

我正确地初始化了数组:(注意这是第三次尝试,所以请忽略我不使用mutableCopy和其他更好的方法这样做的事实)

NSArray *fixedWords = @[@"Eeny", @"Meeny", @"Miny", @"Moe", @"Catch", @"A", @"Tiger", @"By", @"His", @"Toe"];
NSMutableArray *mutWords = [[NSMutableArray alloc] initWithArray:fixedWords];
self.words = mutWords;
Run Code Online (Sandbox Code Playgroud)

但是当我后来重新排序数组时,它在removeObjectAtIndex行崩溃:

id object = [self.words objectAtIndex:fromIndexPath.row];
NSUInteger from = fromIndexPath.row;
NSUInteger to = toIndexPath.row;
[self.words removeObjectAtIndex:from];
Run Code Online (Sandbox Code Playgroud)

带有错误消息

unrecognized selector sent to instance
Run Code Online (Sandbox Code Playgroud)

进行了大量的挖掘,以确定这是因为复制意味着分配NSMutableArray会导致创建标准(不可变)NSArray.任何人都可以解释为什么这是正确的行为?

objective-c nsmutablearray nsarray ios

22
推荐指数
2
解决办法
9215
查看次数

哪个具有更快的性能indexOfObjectsPassingTest或filteredArrayUsingPredicate?

当需要过滤NSArray以获取返回的数组中的项的子集时,哪种方法更频繁且边缘情况更快?

filtering objective-c performance-testing nsarray ios

22
推荐指数
2
解决办法
8920
查看次数

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

使用NSArray观察关键值

我已经在SO上查看了使用键值观察的示例NSArray(或者NSMutableArray),显然你需要使用NSArrayController(不像KVO我不熟悉的),但我没有找到如何执行此操作的具体示例.有人可以解释一些示例代码吗?

例如,如果我有一个GameModel代表其播放器名称NSArray (playerNameArray)的a NSStrings.我想观察那些字符串(视图控制器观察模型的数据)来更新视图中的各种内容.

如何获得播放器名称数组已更改的通知?

编辑:iOS SDK甚至支持NSArrayController吗?如果没有,还有另一种方式吗?

iphone objective-c key-value-observing nsarray nsarraycontroller

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

对NSString的NSArray进行排序

有人可以告诉我排序NSMutableArray的代码吗?我有以下NSMutableArray:

NSMutableArray *arr = [[NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)

具有诸如"2","4","5","1","9"等元素,它们都是NSString.

我想按降序对列表进行排序,以便最大值整数在列表中最高(索引0).

我尝试了以下方法:

[arr sortUsingSelector:@selector(compare:)];
Run Code Online (Sandbox Code Playgroud)

但它似乎没有正确地对我的价值进行排序.

有人能告诉我代码正确地做我想要完成的事情吗?谢谢!

sorting iphone nsmutablearray nsarray ios

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

如何使用for循环将对象添加到NSArray?

我想[NSDecimalNumber numberWithInt:i]使用for循环添加到数组.

它是硬编码的:

 NSArray *customTickLocations = [NSArray arrayWithObjects: [NSDecimalNumber numberWithInt:1],[NSDecimalNumber numberWithInt:2],[NSDecimalNumber numberWithInt:3],[NSDecimalNumber numberWithInt:4],[NSDecimalNumber numberWithInt:5],[NSDecimalNumber numberWithInt:6],[NSDecimalNumber numberWithInt:7],[NSDecimalNumber numberWithInt:8],[NSDecimalNumber numberWithInt:9],[NSDecimalNumber numberWithInt:10],[NSDecimalNumber numberWithInt:11],[NSDecimalNumber numberWithInt:12],nil];
Run Code Online (Sandbox Code Playgroud)

我想这样,但我只能在这里添加一个对象....

for (int i=0; i<totalImagesOnXaxis; i++)
{
    customTickLocations = [NSArray arrayWithObject:[NSDecimalNumber numberWithInt:i]];
}
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题,先谢谢你,Madan

iphone objective-c nsarray ios

21
推荐指数
6
解决办法
7万
查看次数

压平NSArray

我有这样一个数组:

array: (
    (
        "http://aaa/product/8_1371121323.png",
        "http://aaa/product/14_1371123271.png"
    ),
    (
        "http://aaa/product/9_1371121377.png"
    )
)
Run Code Online (Sandbox Code Playgroud)

我必须像这样从那个创建另一个数组

array: (
    "http://aaa/product/8_1371121323.png",
    "http://aaa/product/14_1371123271.png",
    "http://aaa/product/9_1371121377.png"
)
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?是否可以组合所有对象并使用一些字符串将它们分开?

cocoa objective-c nsarray

21
推荐指数
2
解决办法
5669
查看次数

在Objective-C中从数组中删除项目

这个问题看似简单,但我正在寻找最有效和最友好的方式.

假设我有一个Person对象数组.每个人都有一个由头发颜色代表的头发颜色NSString.然后我们说我想从数组中删除头发颜色为棕色的所有Person对象.

我该怎么做呢?

请记住,您无法从枚举的数组中删除对象.

objective-c nsstring nsmutablearray nsarray ios

21
推荐指数
4
解决办法
5万
查看次数

iOS 7中的JSON解析

我正在为现有网站创建一个应用程序.它们目前具有以下格式的JSON:

[

   {
       "id": "value",
       "array": "[{\"id\" : \"value\"} , {\"id\" : \"value\"}]"
   },
   {
       "id": "value",
       "array": "[{\"id\" : \"value\"},{\"id\" : \"value\"}]"
   } 
]
Run Code Online (Sandbox Code Playgroud)

它们在使用Javascript转义\字符后解析.

我的问题是当我使用以下命令在iOS中解析它时:

NSArray *result = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&localError];
Run Code Online (Sandbox Code Playgroud)

这样做:

NSArray *Array = [result valueForKey:@"array"];
Run Code Online (Sandbox Code Playgroud)

而不是Array我得到的NSMutableString对象.

  • 该网站已经投入生产,因此我无法要求他们更改现有结构以返回正确的JSON对象.对他们来说这将是很多工作.

  • 所以,直到他们改变底层stucture,有没有什么办法可以让它工作在iOS像他们做与javascript他们website

任何帮助/建议对我都非常有帮助.

json objective-c nsmutablearray nsarray ios

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