Xcode: ошибка. Класс XYZ не реализует протокол NSXMLParserDelegate. - PullRequest
1 голос
/ 25 августа 2011

Я получаю это сообщение об ошибке, касающееся строки "[parser setDelegate: self];" ниже:

Класс «ProcessiController» не реализует протокол «NSXMLParserDelegate» ...

Это код:

<!-- language: C-objective -->

@implementation ProcessiController


-(void)awakeFromNib
{
    NSString *dataFilePath = [[NSBundle mainBundle] pathForResource:@"processi" ofType:@"xml"];
    stories = [[NSMutableArray alloc]init];
    parser = [[NSXMLParser alloc] initWithData:[NSData dataWithContentsOfFile:dataFilePath]];
    [parser setDelegate:self];
    [parser parse];
    NSLog(@"file trovato e caricato");

}

А это файл .h:

<!-- language: C-objective -->

#import <UIKit/UIKit.h>
#import "CustomCellProcessiController.h"
#import "GenericaProcessiController.h"


@interface ProcessiController : UITableViewController {


    NSXMLParser *parser; //utilizzato per il parsing
    NSMutableArray *stories; 
    NSMutableDictionary *item;

    NSString *currentElement;
    NSMutableString *currentName;
    NSMutableString *fileName;

    UIView *myHeader;

}

Спасибо за любой вклад! Тем не менее, это будет полезно, только если объяснено шаг за шагом, что нужно изменить, поскольку у меня нет знаний в области программирования (но я достаточно смел, чтобы возиться с кодом :-))

1 Ответ

2 голосов
/ 25 августа 2011

Используя следующую строку,

[parser setDelegate:self];

вы указываете, что текущий класс соответствует протоколу NSXMLParserDelegate.

Чтобы заставить его работать, нужно, чтобы ваш текущий класс реализовал требуемые методы делегата.

Вот несколько ссылок, объясняющих, как Protocols работает в iOS:

Протоколы iOS и делегаты. Основные вопросы

http://iosdevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...