nsscanner ограничивает вывод на интерфейс

Я пробую отличное приложение obj-c/ios, которое я нашел по адресу http://tech.pro/tutorial/975/building-an-earthquake-monitor-for-iphone-using-mapkit. Он отображает землетрясения

Он отлично работает, но я хотел добавить заголовок и подзаголовок к контактам. Не идти. Проблема заключается в том, что интерфейс принимает значения только из отсканированного файла!! Я терплю неудачу, когда пытаюсь добавить дополнительные поля. Дело в том, что я знаю, что они есть в массиве. Судя по всему, они просто не переносятся. Вот что я имею в виду: NSLog: Событие содержит: 36.238, 69.520, 4.200, 91.0

Я ожидал этого: NSLog: Событие содержит: Scale 4.200 36.238, 69.520, 4.200, 91.0

Это было произведено следующим образом:

while ([scanner isAtEnd] == NO) {
        [scanner scanUpToString:@"\n" intoString:&line];
        //skip the first line
        if(count > 0) {
            values = [line componentsSeparatedByString:@","];
            event = [[SeismicEvent alloc] init];
            event.title = @"Scale";
            assert(event.title);
            event.subtitle = [values objectAtIndex:4];
            assert(event.subtitle);
            event.latitude = [[values objectAtIndex:2] floatValue];
            event.longitude = [[values objectAtIndex:3] floatValue];
            event.magnitude = [[values objectAtIndex:4] floatValue];
            event.depth = [[values objectAtIndex:5] floatValue];
            NSLog(@" Event contains: %@", event);
            [eventPoints addObject:event];

читая это: Дата, ВремяUTC, Широта, Долгота, Магнитуда, Глубина 2013/06/28,07:45:23.0,-22.795,171.317,4.9, 35 2013/06/28,07:27:54.1, 3.917,126.013, 4,7, 62

Я могу NSLog поля; ценности есть, они просто никуда не денутся. Я в тупике.


person David    schedule 29.06.2013    source источник


Ответы (1)


NSLog(@" Event contains: %@", event);

вызывает [event description] для преобразования пользовательского объекта в строку.

Поэтому я предполагаю, что класс SeismicEvent переопределяет этот метод, и вы можете изменить реализацию, чтобы отображались все поля, которые вы хотите.

person Martin R    schedule 29.06.2013