Как распечатать содержимое NSSet?

Я запрашиваю и получаю NSSet, который содержит адрес клиента из Интернета. Поскольку я новичок в объектной разработке c, я не знаю, как получить страну, почтовый индекс и т. Д. Из этого набора. Поэтому я следил за Objective-C. Как печатать NSSet в одной строке (без конечной запятой / пробела), но мой вывод в виде объекта «0x7f99997b7a50». Как распечатать все строки в наборе? Заранее спасибо.

Я так пробовал

NSArray *ar = [customer.addresses allObjects]; for (int i = 0; i<ar.count; i++) { NSLog(@"arr %@",ar[i]); } 

Но вывод: arr:

  <BUYAddress: 0x7fd451f6e050> 

2 Solutions collect form web for “Как распечатать содержимое NSSet?”

Если у вас есть пользовательский объект, вам может потребоваться переопределить description

Без переопределения:

 -(void) testCustomObjects { CustomObject *co1 = [[CustomObject alloc] init]; co1.name = @"James Webster"; co1.jobTitle = @"Code Monkey"; CustomObject *co2 = [[CustomObject alloc] init]; co2.name = @"Holly T Canine"; co2.jobTitle = @"Pet Dog"; NSSet *set = [NSSet setWithObjects:co1, co2, nil]; NSLog(@"%@", [set allObjects]); } 

производит:

 2016-12-02 11:45:55.342 Playground[95359:4188387] ( "<CustomObject: 0x600000037a20>", "<CustomObject: 0x60000003ae20>" ) 

Однако, если я переопределяю метод description в моем классе CustomObject :

 -(NSString*) description { return [NSString stringWithFormat:@"%@ (%@)", self.name, self.jobTitle]; } 

Я получаю следующее:

 ( "Holly T Canine (Pet Dog)", "James Webster (Code Monkey)" ) 

Если по какой-либо причине вы не можете добавить метод описания, вам просто нужно получить доступ к соответствующим частям объекта; что-то вроде следующего:

 NSArray *ar = [customer.addresses allObjects]; for (int i = 0; i<ar.count; i++) { NSLog(@"arr %@ (%@)",ar[i].name, ar[i].address); } 

Я немного поглядел на библиотеку, которую вы используете. Попробуйте следующее:

 for (BUYAddress *address in customer.addresses) { NSLog(@"Address: %@, %@, %@", address.address1, address.address2, address.city); } 

Рассмотрим NSSet ниже,

  NSSet *theNSSet = [NSSet setWithObjects:@"Chennai",@"Mumbai",@"Delhi", nil]; 

Преобразуйте его в NSArray, используя

 NSArray *array = [theNSSet allObjects]; // theNSSet is replaced with your NSSet id 

Затем напечатайте его как

 NSLog(@"%@",array); 

Выход im, получающий

(Ченнай, Дели, Мумбаи)

В твоем случае:

 - (NSMutableSet *)addressesSet { [self willAccessValueForKey:@"addresses"]; NSMutableSet *result = (NSMutableSet *)[self mutableSetValueForKey:@"addresses"]; [self didAccessValueForKey:@"addresses"]; NSLog(@"%@",[result allObjects]); // printing the nsset return result; } 
  • NSInvalidArgumentException после запуска вручную
  • Получить текущий кадр из Youtube YTPlayerView
  • MFMailComposeViewController выдает ошибку только в iOS 9
  • Утечки памяти с помощью NSXMLParser
  • iOS управляет вложенной проблемой UICollectionViews
  • supportInterfaceOrientationsForWindow не работает для IOS 7?
  • как получить одиночные символы из строки в ios для языка Gujrati (на другом языке)
  • Попытка вставить новые элементы в UICollectionView, но снова и снова
  • половина слова происходит в следующей строке, созданной с помощью nsmutableattributedstring
  • отображение PDF-файла в UIScrollview по горизонтали
  • Когда приложение переходит на фоновое распознавание речи не работает
  • Interesting Posts

    Не удается получить разрешение публикации publish_action на iOS

    Подключение SoundCloud к Facebook не работает в iOS

    Отображение парсиальных изображений в UICollectionView Parse.com

    Ящики для самостоятельной калибровки и управления динамическим размером для iOS

    Реализация кнопок Prev./Next в UITableView, чтобы сделать первый ответчик UITextField в невидимой ячейке

    Ошибка при установке контейнеров

    Локализация приложений iOS зависит от выбора пользователя в приложении

    Получение метаданных из аудиопотока

    Как остановить анимацию UIView при необходимости?

    iOS: Как динамически добавлять изображение в родительский вид?

    Почему мы должны копировать блоки, а не сохранять?

    "DidChangeSection:" Метод делегата NSfetchedResultsController не вызывается

    полноэкранные размеры изображения и именование в xcode

    Доступ к файлу SMS для iPhone

    Подкласс класса с синтезированным свойством readonly не может получить доступ к переменной экземпляра в Objective-C

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.