标签: nsmutablearray

如何正确清空NSMutableArray

我试图用[myarray removeallobjects]清空一个NSMutableArray; 但我收到错误exc_bad_access.这是清空阵列的正确方法吗?我试图把它设置为零,但它也没有用.实际上我正在做的是用数据填充数组,用户可以选择"刷新"数据,我想在输入刷新的数据之前清空数组.我不能发布任何代码因为太大了.

iphone object nsmutablearray

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

我可以在不创建临时数组的情况下移动NSMutableArray中的对象吗?

我以为我有它,

void shiftArray(NSMutableArray *mutableArray, NSUInteger shift)
{
    for (NSUInteger i = 0; i < [mutableArray count]; i++) {
        NSUInteger newIndex = (i + shift) % [mutableArray count];
        [mutableArray exchangeObjectAtIndex:i withObjectAtIndex:newIndex];
    }
}
Run Code Online (Sandbox Code Playgroud)

当我换一个时,它将0,1,2,3,4变成0,2,3,4,1.

预期结果是4,0,1,2,3

我觉得我错过了一些明显的东西......

更新:感谢Matthieu,这就是我现在的功能.

void shiftArrayRight(NSMutableArray *mutableArray, NSUInteger shift) {
    for (NSUInteger i = shift; i > 0; i--) {
        NSObject *obj = [mutableArray lastObject];
        [mutableArray insertObject:obj atIndex:0];
        [mutableArray removeLastObject];
    }
}
Run Code Online (Sandbox Code Playgroud)

我不知道你可以制作一个通用的NSObject并在其中加入一些子类.它只是指针所以我猜它没关系,对吧?

很难打破将这些物体视为袋子的习惯,而不是指向袋子的指针.

arrays cocoa shift nsmutablearray

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

如何将字符串拆分为NSMutableArray

我想将字符串拆分为NSMutableArray

我知道

- (NSArray *)componentsSeparatedByString:(NSString *)separator
Run Code Online (Sandbox Code Playgroud)

是可用的但是这个NSArray不是为了NSMutableArray.

我需要因为在分裂后我想通过使用从数组中删除元素

-(void)removeObjectAtIndex:(NSUInteger)index
Run Code Online (Sandbox Code Playgroud)

这是NSArray无法实现的.

谢谢

string iphone split nsmutablearray

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

如何按字母顺序对NSMutable数组中的自定义对象字段进行排序?

我有一个自定义对象,如:

#import <Foundation/Foundation.h>

@interface Store : NSObject{
    NSString *name;
    NSString *address;
}

@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *address;

@end
Run Code Online (Sandbox Code Playgroud)

我有一个包含Store对象的NSMutableArray(storeArray)数组:

store1 = [[Store alloc] init];
store1.name = @"Walmart";    
store1.address = @"walmart address here..";

store2 = [[Store alloc] init];
store2.name = @"Target";
store2.address = @"Target address here..";

store3 = [[Store alloc] init];
store3.name = @"Apple Store";
store3.address = @"Apple store address here..";

//add stores to array
storeArray = [[NSMutableArray alloc] init];
[storeArray addObject:store1];
[storeArray addObject:store2];
[storeArray addObject:store3]; …
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray ios

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

如何从NSMutableArray中只删除一个对象的实例?

Apple文档说该- (void)removeObject:(id)anObject方法从中删除了所有出现的给定对象NSMutableArray.

有没有办法从数组中只删除一个对象?

cocoa-touch objective-c nsmutablearray

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

检查并从没有索引的nsmutable数组中删除特定字符串

在Xcode中,我存储一些NSString在NSMutableArray.

Hello
Here
MyBook
Bible
Array
Name2
There
IamCriminal
Run Code Online (Sandbox Code Playgroud)

用户可以输入字符串.

Name2
Run Code Online (Sandbox Code Playgroud)

我需要在NSMutableArray不知道字符串索引的情况下删除该特定字符串.我有一点想法,使用迭代.任何其他最佳方式.Plz给出样本编码.

xcode objective-c nsstring nsmutablearray ios

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

更改NSMutableArray中所有对象的属性

我有NSMutableArray9个对象.这些对象有很多属性,如questionName,questionWhatRow等.

我希望能够为其中的所有对象更改其中一个属性NSMutableArray.

这是我的NSMutableArray类.

-(id) init
{
    self = [super init];

    if (self)
    {
        self.questionsArray = [[NSMutableArray alloc] init];

        Question *newQuestion = [[Question alloc] init];
        newQuestion.questionName = @"What is the name of the girl who has to fetch water for her family every day?";
        newQuestion.questionRowName = @"Question 1";
        newQuestion.questionAnswer = @"Nya";
        newQuestion.questionHint = @"Maybe if you read the book you would know";
        newQuestion.questionWhatRow = @"Nya";
        newQuestion.questionCompleteOrNot = @"No";
        newQuestion.pointForQuestion = 1; …
Run Code Online (Sandbox Code Playgroud)

properties objective-c nsstring nsmutablearray

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

Sprite Kit iOS7 - SKNode UserData属性不存储值

我认为这项工作很容易,但我无法理解为什么我的NSMutableDictionary属性不能像我预期的那样工作.

[self.testSprite.userData setValue:@"CAT" forKey:@"key"];
NSLog(@"%@", [self.testSprite.userData objectForKey:@"key"]);
NSLog(@"%lu", [self.testSprite.userData count]);
Run Code Online (Sandbox Code Playgroud)

我重新调整(null)和0.

有没有使用spriteNode userdata的特殊技巧?

谢谢

sprite nsmutablearray user-data sprite-kit

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

如何在swift中创建多维数组?

我正在尝试将数组类型对象推送到Apple的新Swift语言中的数组内的特殊索引.它应该看起来像这样[ [...], [...], ...],正如我在文档中所读到的那样 - NSMutableArray如果它是自动分配给变量的类型var,但即使在操场上也会引发错误:

var arr = [];

arr[0] = []; // Error: cannot assign to result of this expression

arr.insert([], atIndex:0) // Error: 'NSArray' does not have member named 'insert'
Run Code Online (Sandbox Code Playgroud)

multidimensional-array nsmutablearray nsarray swift

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

Swift中的字典与Mutable Array作为值表现得非常慢?如何优化或构建正确?

我试图在Swift中构建一个数据结构,将Integer映射到一个对象数组(一个字典,其中int为键,数组为value).对象非常小,它们只需包装UIColor和Int.我有两个实现,一个使用Swift数组作为Dictionary的值类型,而另一个使用NSMutableArray作为值类型.我的Objective-C代码执行速度非常快,但我的Swift代码运行得非常慢.理想情况下,我不想使用NSMutableArray,并希望将其保留为Swift数组.原因是我正在编写算法和性能问题,我注意到了objC_msgSend的一些开销.任何人都可以帮我优化我的Swift代码吗?我做错了什么,或者这只是快速处理数组作为值类型的副产品?如果是,我想理解为什么值类型在这种情况下表现得如此之慢,我的选择是什么,以及这种情况如何能够在未来扩展?下面我发布了一个代码段和结果基准:

Swift数组代码:

let numColors = colorCount(filter: filter, colorInfoCount: colorInfo.count)
var colorCountsArray: [Int] = [Int]()
var countToColorMap: [Int:[CountedColor]] = [Int:[CountedColor]](minimumCapacity: capacity)
var topColors = [CountedColor]()

var startTime = CACurrentMediaTime()
for (color, colorCount) in colorInfo {
    colorCountsArray.append(colorCount)
    if countToColorMap[colorCount] != nil {
        countToColorMap[colorCount]?.append(CountedColor(color: color, colorCount: colorCount))
    } else {
        countToColorMap[colorCount] = [CountedColor(color: color, colorCount: colorCount)]
    }
}
var endTime = CACurrentMediaTime()
print("Time after mapping: \(endTime - startTime)")
Run Code Online (Sandbox Code Playgroud)

迅捷表现:

Time after mapping: 45.0881789259997
Run Code Online (Sandbox Code Playgroud)

NSMutableArray代码:

let numColors = colorCount(filter: filter, colorInfoCount: colorInfo.count)
var colorCountsArray: …
Run Code Online (Sandbox Code Playgroud)

algorithm value-type nsmutablearray swift swift-dictionary

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