标签: nsarray

根据特定密钥对NSDictionaries的NSArray进行重复数据删除

我试图根据词典中的特定键来删除NSArray的NSArray.我看到的是这样的:

NSDictionary *person1 = [NSDictionary dictionaryWithObjectsAndKeys:@"John", @"firstName", @"Smith", "lastName", @"7898", @"employeeID"];
NSDictionary *person2 = [NSDictionary dictionaryWithObjectsAndKeys:@"Eric", @"firstName", @"Johnson", "lastName", @"1718" @"employeeID"];
NSDictionary *person3 = [NSDictionary dictionaryWithObjectsAndKeys:@"John", @"firstName", @"Smith", "lastName", @"1153", @"employeeID"];

NSMutableArray *personArray = [NSArray arrayWithObjects:person1, person2, person3, nil];

// insert some code to de-dupe personArray based SOLELY on the firstName and lastName keys
Run Code Online (Sandbox Code Playgroud)

请注意,有两名员工姓名相同但ID不同.我想做的只是回到一个只有person1和person2的新数组,因为person3具有相同的数据 - 我只是不关心这个特定问题中的"employeeID"值.

有任何想法吗?谢谢!

-Matt

iphone objective-c nsdictionary nsarray deduplication

0
推荐指数
1
解决办法
380
查看次数

检查NSMutableArray上的重复NSStrings

我有一个NSMutableArray,我想添加字符串.在将字符串添加到数组之前,我需要检查数组中是否已存在该字符串.无论如何知道这样做的好方法吗?

谢谢!

cocoa objective-c duplicates nsstring nsarray

0
推荐指数
1
解决办法
4810
查看次数

模拟低内存警告时NSArray导致内存泄漏

我已经制作了一个示例项目来重现这个包含两个视图的问题:

根标题:

#import <UIKit/UIKit.h>
#import "view2.h"

@interface RootViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>{
    view2 *secondView;
    UITableView *table;
    NSArray *array;
}

@property (nonatomic, retain) view2 *secondView;
@property (nonatomic, retain) IBOutlet UITableView *table;
@property (nonatomic, retain) NSArray *array;
@end
Run Code Online (Sandbox Code Playgroud)

根主要:

#import "RootViewController.h"

@implementation RootViewController
@synthesize table, array, secondView;

- (void)viewDidLoad
{
    [super viewDidLoad];    
    if(self.array == nil){
        self.array = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", nil];
    }
}
- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

}

- …
Run Code Online (Sandbox Code Playgroud)

iphone memory-leaks objective-c nsarray ios

0
推荐指数
1
解决办法
252
查看次数

每个项目出现多少次出现在NSMutableArray中

我有一个带有一些NSNumber的NSMutableArray:

{1, 2, 3, 3, 2, 1, 6, 2}
Run Code Online (Sandbox Code Playgroud)

我想知道列表中出现的每个数字的出现次数.

Ex :  
1 = 2  
2 = 3  
3 = 2  
6 = 1
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsmutablearray nsarray

0
推荐指数
1
解决办法
655
查看次数

将NSArray元素分配给适当对象的最佳方法是什么?

如果我在NSArray中有以下3个类的对象,那么将数组元素分配给适当对象的最佳方法是什么?

@interface Simple : NSObject 
@interface Intermediate : Simple 
@interface Advanced : Simple
Run Code Online (Sandbox Code Playgroud)

我想遍历NSArray,如果数组的第二个元素是Intermediate,第五个元素是Advanced,我想分别将它们分配给Intermediate和Advanced的变量.这允许我调用派生类中未在基类中定义的方法.

让我知道,如果有一个更好的解决方案,而不是让NSArray包含不同的对象(我仍然有兴趣知道原始问题的答案)!

objective-c nsarray ios

0
推荐指数
1
解决办法
110
查看次数

复制数组本身时如何复制NSArray的所有对象

我有一个对象数组

我想复制数组及其所有内容

"对象"实现NSCopying

我以为这样做

NSArray *copiedArray = [array copy];
Run Code Online (Sandbox Code Playgroud)

会在其中包含的对象中触发copyWithZone.

不幸的是......

如何才能做到这一点?

objective-c nsarray nscopying ios

0
推荐指数
1
解决办法
2477
查看次数

NSArray的对象"可能"为零

我有3个对象可能以随机顺序初始化.

所以,如果对象"objectOne",objectTwo","objectThree"按此顺序初始化

myArray  = [NSArray arrayWithObjects:objectOne,objectTwo,objectThree nil];
Run Code Online (Sandbox Code Playgroud)

所有对象都没有问题进入数组,但在我的情况下objectOne,objectTwo可能是nil而objectThree可能不是nil,在这种情况下我希望myArray返回(count)1.

如果objectOne为nil但objectTwo和objectThree不为nil,我希望我的数组返回(count)2.

在最后两种情况下,我的数组总是返回nil.最好的办法是什么?

objective-c nsmutablearray nsarray ios

0
推荐指数
1
解决办法
566
查看次数

[NSCFArray length]:发送到实例的无法识别的选择器

我正在尝试用数组中的一些数据填充表视图.数组已填充,但是当我运行应用程序时,我收到此错误:原因:' - [__ NSCFArray length]:无法识别的选择器发送到实例

我搜索了类似的问题,但没有人适合我.我不使用lenght函数,我的应用程序崩溃:cell.textLabel.text = [self.currentDate objectAtIndex:indexPath.row];

quizViewController.m

- (void)passDataForward
{
    ScoreViewController *secondViewController = [[UIStoryboard storyboardWithName:@"Storyboard" bundle:[NSBundle mainBundle]]instantiateViewControllerWithIdentifier:@"score"];

    secondViewController.data =self.scoreLabel.text;
    secondViewController.delegate = self;

    NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
    [highScores insertObject:self.scoreLabel.text atIndex:highScores.count];

    NSData *currentDate =[NSDate date];
    NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"dd.MM.YYYY                        HH:mm:ss"];
    NSString *dateString =[dateFormatter stringFromDate:currentDate];

    [data insertObject:dateString atIndex:data.count];



    NSMutableArray *scorearray = [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] arrayForKey:@"high_scoresarray"]];

     NSMutableArray *dataArray = [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] arrayForKey:@"data_score"]];

    [scorearray addObject:highScores];
    [dataArray addObject:data];

    [[NSUserDefaults standardUserDefaults] setObject:scorearray forKey:@"high_scoresarray"];
    [[NSUserDefaults standardUserDefaults] setObject:dataArray forKey:@"data_score"];


    secondViewController.test=[NSMutableArray …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c nsarray ios

0
推荐指数
1
解决办法
2335
查看次数

按字典中的NSDates排序字典数组

我正在创建一个包含单独帖子的应用程序(类似于Instagram).每个帖子都是一个位于一个大数组中的字典.在每个字典中,它们是一个NSDate,我想按照从最新到最旧的顺序对字典进行排序.

我已经阅读了类似的问题,但他们是客观的C.我有一种感觉NSSortDescriptor是一种有用的方法,但我不确定如何在这种情况下使用它.

任何帮助都会很棒,

谢谢

xcode nsdictionary nsdate nsarray swift

0
推荐指数
1
解决办法
1583
查看次数

如何添加两个可变数组?迅速

在我的应用程序中,我想实现下拉刷新.因此,当滚动视图向下滚动其加载更多数据.现在第一次加载页面时我将数据保存在videoArray数组中,当向下滚动时我得到了videoArray2数组中的数据,那么如何将videoArray2的值添加到videoArray中呢?两者都是nsmuttablearray.

这是我的代码:

var videoArray : NSMutableArray = NSMutableArray()
var videoArray2 : NSMutableArray = NSMutableArray()
Run Code Online (Sandbox Code Playgroud)

我第一次在这个数组中存储了值

self.videoArray = (response.result.value)?.valueForKey("posts") as! NSMutableArray
Run Code Online (Sandbox Code Playgroud)

第二次我在这个数组中存储了值

self.videoArray2 = (response.result.value)?.valueForKey("posts") as! NSMutableArray
Run Code Online (Sandbox Code Playgroud)

这就是我试图追加的方式

for enumerator in self.videoArray2
{
    self.videoArray.addObject(enumerator)
}
Run Code Online (Sandbox Code Playgroud)

但它的投掷错误就像

***由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:' - [__ NSCFArray insertObject:atIndex:]:发送到immutable对象的mutating方法'

那我怎么解决这个问题呢?

nsmutablearray nsarray ios swift

0
推荐指数
1
解决办法
3242
查看次数