Как я смогу удалить объекты [NSNull Null] из NSMutableArray?

iphone objective-c ios4 nsmutablearray

8350 просмотра

5 ответа

Мне нужно удалить объект Null, добавленный

 [mutArrSkills addObject:[NSNull null]];

Нужно ли повторять? Есть ли какая-либо функция для удаления всех нулевых значений из NSMutableArray?

Если нужно повторить, как я это сделаю?

Автор: Heena Источник Размещён: 12.11.2019 09:49

Ответы (5)


31 плюса

Решение

Вы можете использовать NSMutableArray «сек removeObjectIdenticalTo:метод следующим образом

[mutArrSkills removeObjectIdenticalTo:[NSNull null]];

удалить нулевые значения. Нет необходимости повторять.

Автор: Ilanchezhian Размещён: 08.02.2012 11:24

1 плюс

removeObjectIdenticalTo:

Удаляет все вхождения данного объекта в массиве.

Обсуждение Этот метод использует метод indexOfObjectIdenticalTo: для поиска совпадений, а затем удаляет их с помощью removeObjectAtIndex :. Таким образом, совпадения определяются с использованием адресов объектов. Если массив не содержит anObject, метод не имеет никакого эффекта (хотя он требует дополнительных затрат на поиск содержимого).

Автор: Matthias Bauch Размещён: 08.02.2012 11:25

1 плюс

Вы можете попробовать сделать это,

NSNull *nullValue = [NSNull null]; 

[mutArrSkills removeObjectIdenticalTo:nullValue];

Надеюсь, это поможет.

Автор: nithinbhaktha Размещён: 08.02.2012 11:51

0 плюса

В Swift вы сначала должны применить Swift Arrayк себе NSArray, сделать и сделать его изменяемым, чтобы вы могли удалить Objective-Cоставшиеся элементы, а затем снова к нему Array.

Fatal error: NSArray element failed to match the Swift Array Element type

// my crashing array, containing a not String element, like NSNull or anything else
let myUnsafeSwiftArray: [String]

// make it safely NSArray, then make it mutable
let mutableUnsafeArray = NSMutableArray(array: myUnsafeSwiftArray as NSArray)

// remove leftover class, like [NSNull null] aka NSNull.init()
unsafeTextures.removeObject(identicalTo: NSNull.init())

// Cast the safe array back to its supposed to by element type
let safeArray = unsafeTextures as? [String]
Автор: Laszlo Размещён: 20.03.2019 03:00

-1 плюса

Вы можете повторить как это.

for(int i=0,i<[mutArrSkills count]; i++)
{
  if([[mutArrSkills objectAtIndex:i] isKindOfClass:[NSNull Class]])
    {
    [mutArrSkills removeObjectAtIndex:i];  
   }
}
Автор: Nikhil Aneja Размещён: 08.02.2012 11:25
Вопросы из категории :
32x32