Преобразуйте NSArray в NSString в Objective C

Вы могли бы лучше спрашивать это относительно эти WiX-пользовательский список рассылки .

WiX лучше всего используется с твердым пониманием того, что делает Windows Installer. Вы могли бы рассмотреть получение" Полное руководство к Windows Installer ".

действие, которое удаляет существующий продукт, действие RemoveExistingProducts . Поскольку последствия того, что это делает, зависят от того, где это запланировало - а именно, заставляет ли отказ старый продукт быть переустановленным, и копируются ли неизменные файлы снова - необходимо запланировать его сами.

RemoveExistingProducts процессы элементы в текущей установке, соответствуя эти @Id атрибут к UpgradeCode (определенный в элемент) всех установленных продуктов в системе. Эти UpgradeCode определяет семью сопутствующих товаров. Будут удалены любые продукты, которые имеют этот UpgradeCode, версии которого попадают в диапазон, определенный, и где эти UpgradeVersion/@OnlyDetect атрибут no (или опущен).

документация для RemoveExistingProducts упоминания, устанавливающие UPGRADINGPRODUCTCODE свойство. Это означает, что процесс удаления для продукта, удаляемого , получает то свойство, значение которого Product/@Id для устанавливаемого продукта.

, Если Ваша исходная установка не включала UpgradeCode, Вы не будете в состоянии использовать эту функцию.

183
задан alexyorke 22 August 2017 в 09:49
поделиться

2 ответа

NSString * result = [[array valueForKey:@"description"] componentsJoinedByString:@""];
531
ответ дан 23 November 2019 в 05:58
поделиться

Один из подходов - перебрать массив, вызывая сообщение description для каждого элемента:

NSMutableString * result = [[NSMutableString alloc] init];
for (NSObject * obj in array)
{
    [result appendString:[obj description]];
}
NSLog(@"The concatenated string is %@", result);

Другой подход - сделать что-то на основе класса каждого элемента:

NSMutableString * result = [[NSMutableString alloc] init];
for (NSObject * obj in array)
{
    if ([obj isKindOfClass:[NSNumber class]])
    {
        // append something
    }
    else
    {
        [result appendString:[obj description]];
    }
}
NSLog(@"The concatenated string is %@", result);

Если вам нужны запятые и другая посторонняя информация, вы можете просто сделать:

NSString * result = [array description];
32
ответ дан 23 November 2019 в 05:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: