Tag: nsmutablearray

用valueForKeyPath查找NSMutableArray的平均值

目前我试图find一个紧凑的方式来平均matrix 。 显而易见的解决办法是对matrix求和,然后除以元素数量。 不过,我在苹果开发者网站上遇到了一个方法,声称这可以通过使用valueForKeyPath的简单方法来完成。 这是链接在这里: http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/KeyValueCoding/Articles/CollectionOperators.html 下面是我正在努力尝试使其运行的示例: -(void)arrayAverager { NSMutableArray *myArray = [NSMutableArray arrayWithCapacity:25]; [myArray addObject:[NSNumber numberWithInteger:myValue]]; NSNumber *averageValue = [myArray valueForKeyPath:@"@avg.self"]; NSLog(@"avg = %@", averageValue); } 问题是:而不是平均数组它只打印出数组1中的元素1。 UPDATE -(void) pixelAverager { //Put x-coordinate value of all wanted pixels into an array NSMutableArray *xCoordinateArray = [NSMutableArray arrayWithCapacity:25]; [xCoordinateArray addObject:[NSNumber numberWithInteger:xCoordinate]]; NSLog(@"avg = %@", [xCoordinateArray valueForKeyPath:@"@avg.intValue"]); […]

NSMutableArray分配init与NSMutableArray数组

有什么区别: [[NSMutableArray alloc] init] 和 [NSMutableArray array]

比较2 nsmutablearray并获得不同的对象在ios中的第三个数组

我想比较2 NSMutableArray和不同的对象到第三个Array 。 我怎样才能做到这一点 ? Array1可以循环对象。 Array1 = "a", "b","c","d","a","b","c"; Array2 = "a", "b", "c"; 然后结果 Array3 = "d"; 提前致谢

找出NSArray / NSMutableArray更改的索引

我有一个NSMutableArray oldArray 。 现在,在某一点上,这个NSMutableArray对象被另一个NSMutableArray更新,它可能会有更多,更less或相同数量的元素作为以前的NSMutableArray 。 我想比较旧的和新的arrays的变化。 我想要的是两个NSArray的addedArray和removedArray ,它将包含已添加和/或从旧数组中删除元素的索引。 举个例子来说,这个问题会更加清楚: oldArray = {@"a",@"b",@"d",@"e",@"g"}; newArray = {@"a",@"c",@"d",@"e",@"f",@"h"}; 所以,这里的删除的对象分别在索引1和4处分别是@“b”和@“g”。 并且在索引1,4和5处添加的对象是@“c”,@“f”和@“h”(第一个对象被删除,然后被添加)。 因此, removedArray = {1,4}; and addedArray = {1,4,5}; 我想要一个有效的方式来获取这两个数组 – 从旧的和新的NSMutableArray removedArray和addedArray 。 谢谢! 如果问题不是很理解,我愿意提供更多的信息。 编辑1 如果我解释我想用什么,也许会更清楚。 实际上,我使用的是在tableview获取加载后,使用animation方法insertRowsAtIndexPaths和removeRowsAtIndexPaths来更新UITableView,以便用户可以看到被删除的行出去,并且新的行进入。表视图存储的collections夹元素用户可以添加或删除。 所以在添加一些collections夹并删除一些后, 当用户回到collections夹桌面时,会显示animation。 编辑2 早些时候应该提到这一点,但是旧的和新的arrays中的元素将会以升序排列。 只有删除或添加事项的指标。 订单不能更改。 恩。 {@“b”,@“a”,@“c”,@“d”}不能是数组。

insertObject:atIndex: – 索引3超出空数组的边界

我创build一个基于字典键的数组: factsBuiltArray = [NSMutableArray arrayWithCapacity: 6]; if ([statusDict count] == 10) { for (NSString *key in [statusDict allKeys]) { if ([key isEqualToString: @"currenciesAndConversions"]) { [factsBuiltArray insertObject:key atIndex: 0]; } else if ([key isEqualToString: @"languageAndTranslations"]) { [factsBuiltArray insertObject:key atIndex: 1]; } else if ([key isEqualToString: @"plugSize"]) { [factsBuiltArray insertObject:key atIndex: 2]; } else if ([key isEqualToString: […]

如何在枚举过程中删除NSMutableArray或NSMutableDictionary中的元素?

我正在使用基于块的枚举类似于下面的代码: [[[rows objectForKey:self.company.coaTypeCode] objectForKey:statementType] enumerateObjectsWithOptions:NSEnumerationConcurrent usingBlock:^(id coaItem, NSUInteger idx, BOOL *stop) { // block code here }] 我想在枚举过程中删除一些对象取决于它们的对象值。 我怎么能这样做? 我知道在枚举过程中操作可变数组或字典(NSMutableArray或NSMutableDictionary)通常是不可能的。 什么是实施这个最好的方法? 谢谢!

将一组新数据写入Plist,而不是覆盖它

我试图让一个plist来存储多组数据,但是每次保存(使用ActionSheet中的一个button),它都会覆盖之前的一组数据。 我想添加多个“朋友”和他们的数据。 我不太喜欢使用核心数据,所以我想知道如何用Plist做到这一点。 这里是保存button的代码: NSMutableDictionary *friend = [[NSMutableDictionary alloc] init]; NSMutableDictionary *array = [[NSMutableDictionary alloc]init]; [array setObject:friendName.text forKey:@"Name"]; [array setObject:friendPhone.text forKey:@"Phone Number"]; [array setObject:friendEmail.text forKey:@"Email Address"]; [array setObject:friendChatSN.text forKey:@"Chat Screen Name"]; [friend setValue:array forKey: @"Friend Data"]; NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsPath = [paths objectAtIndex:0]; NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"FriendList.plist"]; [friend writeToFile:plistPath […]

将NSUInteger添加到NSMutableArray

你好我正在一个项目上工作,我想添加一个NSUInteger到一个NSMutableArray。 一般来说,我是Objective-C和C的新手。 当我运行的应用程序NSLog显示空。 我会很感激任何人都可以提供帮助。 这是我的代码 -(NSMutableArray *)flipCardAtIndex:(NSUInteger)index { Card *card = [self cardAtIndex:index]; [self.flipCardIndexes addObject:index]; if(!card.isUnplayable) { if(!card.isFaceUp) { for(Card *otherCard in self.cards) { if(otherCard.isFaceUp && !otherCard.isUnplayable) { int matchScore = [card match:@[otherCard]]; if(matchScore) { otherCard.unplayable = YES; card.unplayable = YES; self.score += matchScore * MATCH_BONUS; } else { otherCard.faceUp = NO; self.score -=MISMATCH_PENALTY; } […]

addObject后NSMutableArray是空的

我想添加一个对象到一个NSMutableArray中: NSLog(@"Object text: %@", object.text); NSLog(@"Object: %@", object); [appdelegate.objects addObject:object]; NSLog(@"Objects array size: %i", [appdelegate.objects count]); 这是输出: Object text: This is the text Object: <Object: 0x6e762c0> Objects array size: 0 这怎么可能,我添加一个对象,在下一行,它仍然是空的。 NSMutableArray不是nil ,因为这会引发exception。 有人猜测?

如何比较两个NSMutableArray?

我怎样才能比较两个NSMutableArray? 如果两者都相同,则返回true,否则返回false。 谢谢…