2010-10-13 32 views
6

Tôi đang làm việc với NSXMLParser để phân tích cú pháp tài liệu xml. Bạn phải thiết lập đại biểu mà chúng ta sẽ được gọi mỗi khi trình phân tích tìm thấy một phần tử. Các ví dụ tôi đã xem xét tất cả đã đặt đại biểu là cùng một lớp đang tạo:Cách đặt đại biểu trong một lớp khác

NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:filename]; 
[parser setDelegate: self]; 

Ví dụ khác đặt đại biểu làm cha mẹ. Điều gì sẽ xảy ra nếu tôi muốn một lớp khác (không liên quan đến cùng một lớp) để xử lý các đại biểu. Cú pháp để làm như vậy là gì?

Tôi đã làm điều này nhưng nó không hoạt động.

@interface Util : NSObject <NSXMLParserDelegate> { 
    //Some code here 
} 

//functions for the delegate and the implementation on the Util.m 
//. 
//. 
//. 

Thx cho câu trả lời của bạn.

Tôi quên nói rằng khi gọi các đại biểu Tôi cho rằng nó sẽ là một cái gì đó như thế này:

[parser setDelegate:Util]; 

Tôi giả định này khi biết rằng để thiết lập các đại biểu cho lớp cùng thông điệp là:

[parser setDelegate:self]; 

Trả lời

17

Trước tiên, bạn phải tạo đối tượng Util.

Các đại biểu đã trở thành một ví dụ thực tế của một lớp :)

Util* util = [[Util alloc] init]; 
[parser setDelegate:util]; 
[util release]; 
Các vấn đề liên quan