我在添加的NSMutableArray
中添加了对象,但它添加了相同的对象三次而不是不同的或新的。
Calendar Sow Array具有数据Breedingdate和母猪名称。
for (SOWObject *object in appDelegate.calenderSowArray) {
temp = object.breedingDate;
NSLog(@"Date %@",temp);
[arrayNew removeAllObjects];
for (indxs = 0; indxs <countOfarray; indxs ++) {
SOWObject *neObject= (SOWObject *)[appDelegate.calenderSowArray objectAtIndex:indxs];
NSLog(@"Breeding Date %@",neObject.breedingDate);
if ([temp isEqualToString:neObject.breedingDate]) {
[arrayNew removeAllObjects];
[arrayNew addObject:neObject];
}
}
[testArray addObject:arrayNew];
}
答案 0 :(得分:0)
在添加之前检查数组是否包含对象。通过这样做,特定对象将只添加一次。
if(![arrayNew containsObject:neObject]) // if arrayNew does not contain neObject, add it to the array
{
add it to the array
}
或者如果你的testArray正在添加相同的对象,那么,
if(![testArray containsObject:arrayNew]) // if testArray does not contain arrayNew, add it to the array
{
add it to the array
}
答案 1 :(得分:0)
试试这个,
NSMutableArray *testArray = [[NSMutableArray alloc]init];
for (SOWObject *object in appDelegate.calenderSowArray)
{
[testArray addObject:object];
}
如果你想将appdelegate.calendarSowArray中的所有SOWObject添加到TestArray中,那么这就足够了。
答案 2 :(得分:0)
看起来您正在尝试创建一个数组数组,但内部数组总是只包含一个元素。如果这是你想要的那样:
for (SOWObject *object in appDelegate.calenderSowArray) {
temp = object.breedingDate;
NSLog(@"Date %@",temp);
for (indxs = 0; indxs <countOfarray; indxs ++) {
SOWObject *neObject= (SOWObject *)[appDelegate.calenderSowArray objectAtIndex:indxs];
NSLog(@"Breeding Date %@",neObject.breedingDate);
if ([temp isEqualToString:neObject.breedingDate]) {
[testArray addObject:@[ neObject ]]; // This creates a new inner-array each time
}
}
}
如果没有(你只想要一个数组)那么:
[testArray addObject:neObject];