componentsSeparatedByString возвращает 1 объект, когда строка пуста

Я преобразовываю строку в массив компонентамиSeparatedByString. Он возвращает массив совершенным. но когда строка пуста, возвратите 1 объект.

почему это происходит?

NSMutableArray *imagesList=[[[productDetail objectForKey:@"productImage"] componentsSeparatedByString:@","]mutableCopy]; 

Это происходит потому, что вы пропускаете пустую строку ("") и componentsSeparatedByString пытается отделить вашу строку запятой (,), но их не является запятой (,) в вашей строке, поэтому она возвращает 1 элемент массива (то есть "") ,

 NSMutableArray *imagesList = [[NSMutableArray alloc]init]; if(![productDetail isEqualToString:@""]) { imagesList=[[[productDetail objectForKey:@"productImage"] componentsSeparatedByString:@","]mutableCopy]; } 

Если разделитель не найден в строке, исходная строка возвращается в массив.

  • Разделить массив словарей на подматрицы
  • Внедрение пользовательского NSMutableArray
  • Установить свойство bool всех объектов в массиве
  • Сравните и получите индекс из NSMutableArray
  • Сбой в CFRelease при удалении диапазона объектов из изменяемого массива
  • Как проверить, содержит ли NSMutableArray объект, содержащий определенный текст?
  • Удалить дубликат из nsmutablearray, содержащий nsdictionary
  • Ошибка утечки памяти, объекты в MutableArray не выпущены?
  • Как вставить объект между массивом?
  • Как получить значение UITextField в пользовательской ячейке UITableView
  • как обращаться с NSMutableArray, содержащим запись CoreData после записи, удаляется из CoreData, показывая как «<fault>»
  • Давайте будем гением компьютера.