poligono para pairs librerias graficos graficas graficar grafica funcion ejemplos animados objective-c arrays

objective-c - para - poligono en r



Objective-C-¿Cómo comparar arreglos y extraer la diferencia? (3)

Posible duplicado : comparing-two-arrays

Tengo dos NSArray y me gustaría crear una nueva matriz con objetos de la segunda matriz, pero no incluida en la primera matriz.

Example: NSMutableArray *firstArray = [NSMutableArray arrayWithObjects:@"Bill", @"Ben", @"Chris", @"Melissa", nil]; NSMutableArray *secondArray = [NSMutableArray arrayWithObjects:@"Bill", @"Paul", nil]; The resulting array should be: [@"Paul", nil];

Resolví este problema con un bucle doble comparando objetos en el interior.

¿Hay mejores soluciones?


Quiero comparar imágenes de dos NSArray. Una matriz, estaba obteniendo de Core Database. En segundo lugar tengo objetos de matriz constante.

Quiero saber que el objeto de la segunda matriz está presente en la base de datos Core o no.

Aquí está el código que utilicé.

// All object from core data and take into array. NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]initWithEntityName:@"student"]; NSArray *dbresult = [[NSArray alloc]init]; NSError *error; @try { dbresult = [context executeFetchRequest:fetchRequest error:&error]; } @catch (NSException *exception) { NSString *logerror = [NSString stringWithFormat:@"error in fetching Rooms from coredata = %@",exception.description]; NSLog(logerror) } @finally { } /* Get Unused images from list */ NSMutableArray *usedImages = [dbresult valueForKey:@"roomImageLocalPath"]; NSMutableSet *fSet = [NSMutableSet setWithArray:usedImages]; NSMutableSet *sSet = [NSMutableSet setWithCapacity:[newImages count]]; [sSet addObjectsFromArray:newImages]; [sSet minusSet:fSet]; NSArray *unusedImages = [secondSet allObjects]; NSLog(@"unusedImages %@",unusedImages);


Si los elementos duplicados no son significativos en las matrices, puede usar la operación NSMutableSet : de NSMutableSet :

NSMutableArray *firstArray = [NSMutableArray arrayWithObjects:@"Bill", @"Ben", @"Chris", @"Melissa", nil]; NSMutableArray *secondArray = [NSMutableArray arrayWithObjects:@"Bill", @"Paul", nil]; NSSet *firstSet = [NSSet setWithArray:firstArray]; NSMutableSet *secondSet = [NSMutableSet setWithCapacity:[secondArray count]]; [secondSet addObjectsFromArray:secondArray]; [secondSet minusSet:firstSet]; // result is in `secondSet`