标签: nsarray

NSArray:添加具有相同值的多个对象

如何向NSArray添加多个对象?每个对象都具有相同的值.

防爆.

我想将值"SO"添加到我的数组10次

cocoa objective-c repeat nsarray

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

创建NSObject的副本

如何获取我已设置所有属性的NSObject,然后将其复制到阵列可以使用的另一个内存块中,以便我可以重新使用原始内存?

iphone copy objective-c nsarray

7
推荐指数
2
解决办法
9748
查看次数

按空格数分割NSString

我有一个NSString包含一些由未知数量的空白字符分隔的值.例如:

NSString* line = @"1 2     3";
Run Code Online (Sandbox Code Playgroud)

我想分裂NSString成一个NSArray值,像这样:{@"1", @"2", @"3"}.

objective-c nsstring nsarray

7
推荐指数
1
解决办法
5215
查看次数

在NSMutableArray中观察计数

我希望在计数时得到通知,即.NSArray中的项目数量发生了变化..当然我不需要这个,如果我控制添加和删除数组中的对象.但我不是,它在业务流程模型方面无法预测,并且取决于外部因素.有一些简单优雅的解决方案吗?

编辑:我当然正在纠正这个NSMutableArray ..

objective-c nsarray ios

7
推荐指数
2
解决办法
8119
查看次数

根据另一个NSArray字符串的排序对自定义对象的NSArray进行排序

我有两个NSArray对象,我想要排序相同.一个包含NSString对象,另一个包含自定义Attribute对象.这是我的"关键"NSArray的样子:

// The master order
NSArray *stringOrder = [NSArray arrayWithObjects:@"12", @"10", @"2", nil];
Run Code Online (Sandbox Code Playgroud)

带有自定义对象的NSArray:

// The array of custom Attribute objects that I want sorted by the stringOrder array
NSMutableArray *items = [[NSMutableArray alloc] init];
Attribute *attribute = nil;

attribute = [[Attribute alloc] init];
attribute.assetID = @"10";
[items addObject:attribute];

attribute = [[Attribute alloc] init];
attribute.assetID = @"12";
[items addObject:attribute];

attribute = [[Attribute alloc] init];
attribute.assetID = @"2";
[items addObject:attribute];
Run Code Online (Sandbox Code Playgroud)

所以,我想要做的是使用stringOrder数组来确定items自定义对象数组的排序.我怎样才能做到这一点?

objective-c nsmutablearray nsarray ios

7
推荐指数
2
解决办法
5388
查看次数

出于内存原因,NSMutableArray比NSArray更好吗?

我有一个关于NSArray和NSMutableArray的问题.我理解两者之间的区别主要是NSArray是不可变的,NSMutableArray是可变的.就我的研究而言,性能也是一样的.有一件事我找不到一个好的答案,那就是NSMutableArray使用的内存比NSArray多,如果NSMutableArray在某种程度上比NSArray更苛刻.

我真的很感激建议和解释.

谢谢Vik

memory-management objective-c nsmutablearray nsarray ios

7
推荐指数
1
解决办法
1782
查看次数

找出NSArray/NSMutableArray会改变指数

我有一个NSMutableArray oldArray.现在,在某一点上,这个NSMutableArray对象会被另一个对象更新,这个对象NSMutableArray可能具有比前一个更多,更少或相同数量的元素NSMutableArray.

我想比较旧数组和新数组的变化.我想有两个NSArray小号addedArray和removedArray其中将包含已添加和/或删除旧的数组中的元素的索引.

通过一个例子,整个问题将更加清晰:

oldArray = {@"a",@"b",@"d",@"e",@"g"};

newArray = {@"a",@"c",@"d",@"e",@"f",@"h"};
Run Code Online (Sandbox Code Playgroud)

因此,这里删除的对象分别是索引1和4处的@"b"和@"g".并且在索引1,4和5处添加的对象是@"c",@"f"和@"h"(删除第一个对象,然后添加).

因此,

removedArray = {1,4};  and  addedArray = {1,4,5};
Run Code Online (Sandbox Code Playgroud)

我想要一种有效的方法来获得这两个数组 - removedArray以及addedArray来自旧的和新的NSMutableArray.谢谢!如果问题不是很容易理解,我愿意提供更多信息.

编辑1

如果我解释一下我想要用什么,也许会更清楚.

实际上我正在使用的是在加载tableview之后使用方法insertRowsAtIndexPaths和removeRowsAtIndexPaths动画更新UITableView ,以便用户可以看到删除的行熄灭并且新行进入.tableview存储用户可以使用的收藏夹元素添加或删除.添加一些收藏夹后删除一些; 当用户返回收藏夹表视图时,将显示动画.

编辑2

本来应该提到过这个,但是旧数组和新数组中的元素都是按升序排列的.只有删除或添加的指标才有意义.订单无法更改.恩.{@"b",@"a",@"c",@"d"}不能是数组.

objective-c nsmutablearray nsarray ios

7
推荐指数
1
解决办法
1212
查看次数

Swift - 在NSArray中插入对象/项目/添加对象/项目

我有这个代码:

var NToDel:NSArray = []
var addInNToDelArray = "Test1 \ Test2"
Run Code Online (Sandbox Code Playgroud)

如何添加addInNToDelArray的NToDel:NSArray?

insert add object nsarray swift

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

Swift优化级别将NSArray转换为Array

当Swift Optimization Level设置为None [-Onone]时(默认为debug),以下(有点人为的)代码可以正常工作:

    let nsa = NSArray(array: ["foo", "bar"])
    let a = nsa as [String]
Run Code Online (Sandbox Code Playgroud)

但是,当设置为Fastest [-O](默认为发布)时,应用程序在运行时崩溃(崩溃日志).

我幸运地发现我可以通过这样做来解决这个问题:

    let a = nsa as [AnyObject] as [String]
Run Code Online (Sandbox Code Playgroud)

我的问题是双重的:

  1. 你能帮我理解为什么会这样吗?
  2. 有没有更好的方法将NSArray转换为数组?

UPDATE

这似乎是一个错误.我没有向Apple报告.如果其他人想花时间这样做,请做!

nsarray swift

7
推荐指数
1
解决办法
597
查看次数

Objective-C中的<ObjectType>

在NSArray.h中,我看到了这样的界面

@interface NSArray<ObjectType>
Run Code Online (Sandbox Code Playgroud)

有什么意义<ObjectType>?

generics objective-c nsarray

7
推荐指数
1
解决办法
4286
查看次数