Objective C代理的头文件

3

我刚刚完成了Objective C课程,它被用作NSXMLParser的代理。它包含了几个parser:方法,这些方法应该由NSXMLParserDelegate实现,还有我的自定义parserOutput属性和一个新的名为initWithEncryptedFile:的方法。

现在,我需要在.h文件中放置那些parser:方法吗?或者只需要放置NSXMLParserDelegate文档中未描述的内容即可?

像这样写.h是否足够:

#import <Foundation/Foundation.h>

@interface DataFileParser : NSXMLParser <NSXMLParserDelegate>

@property (strong, nonatomic) NSMutableOrderedSet *parserOutput;

- (id) initWithEncryptedFile:(NSString *)path;

@end

我是否还需要提及所有类似于 parser: 的方法呢:

#import <Foundation/Foundation.h>

@interface DataFileParser : NSXMLParser <NSXMLParserDelegate>

@property (strong, nonatomic) NSMutableOrderedSet *parserOutput;

- (id) initWithEncryptedFile:(NSString *)path;
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict;
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)elementValue;
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName;

@end

两个版本都可以使用。
1个回答

4

第一个版本很好,因为你声明了DataFileParser符合该协议。


非常感谢,Ash!很高兴这是第一个。 :) - Rudolf Adamkovič
我也是!对于更大的类来说,那将是一种疯狂的打字量。如果您对我的答案满意,请记得点击左侧的复选标记将其标记为“已接受”。 - Ash Furrow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接