Когда я использую componentsJoinedByString
, я просто получаю длинную строку цифр.
Редактировать: я понимаю, что это задание сбивает с толку. Зачем кому-то заполнять NSArray NSNumbers, если они хотят NSString? Ответ в том, что я пишу расширяемый фреймворк для модульных тестов. Основные функции genNum
, genBool
и genChar
генерируют NSNumbers со случайными значениями int, BOOL и char соответственно. Тогда есть genArray
, который генерирует случайный массив, используя указанный генератор. Таким образом, чтобы создать случайную строку NSString, нужно запустить genArray
с использованием генератора genChar
и преобразовать полученный массив NSArray в строку NSString.
Символы сохраняются только как NSNumber
с вместо char
с из-за технической сложности: genArray
принимает блок и вызывает блок 100 с лишним раз, чтобы заполнить NSArray. Блоки должны содержать объекты ObjC; не примитивные типы.
Таким образом, остается вопрос: как присоединить NSArray [NSNumber numberWithChar: c] к NSString?