iOS解析器分配断点

时间:2013-02-11 17:09:42

标签: ios parsing asynchronous rss breakpoints

.h
@class HtmlParser
@interface ClassName : NSObject <UITableViewDataSource>
{
NSString *img;
HtmlParser *htmlParser;
}

:)

.M
- (NSString*)img
{
 if (img!=nil) return img; 
   if (_description!=nil)
   { 
//    NSString* description = [NSString stringWithString:_description];
htmlParser = [[HtmlParser alloc] loadHtmlByString:(NSString*) _description];
   }
return img;
}

我正在尝试使用描述内容初始化HtmlParser。 “description”是RSS html异步加载,在tableViewController中启动。

我得到一个断点,有或没有NSString *描述。 ' - [HtmlParser loadHtmlbyString:]:无法识别的选择器发送到实例0x75aa9b0'...这就是我知道如何做的所有调试。为所有异常启用断点。

- .m中的方法在viewController的cellForRowAtIndexPath中调用:

    ClassName *object = _objects[indexPath.row];

NSString *i = object.img;
    UIImage* iG = [UIImage imageWithData:
                [NSData dataWithContentsOfURL:[NSURL URLWithString:i]]];
cell.imageView.image = iG;

它太乱了,请告诉我是否需要进一步澄清。

.h
@interface HtmlParser: NSObject <NSXMLParserDelegate>
{
ET Cetera
}
    - (id) loadHtmlByString:(NSString *)string;

2 个答案:

答案 0 :(得分:1)

当您调用相关方法时:

htmlParser = [[HtmlParser alloc] loadHtmlbyString:(NSString*) _description];

它不应该有(NSString *)。它应该是:

htmlParser = [[HtmlParser alloc] loadHtmlbyString: _description];

但是,loadHtmlbyString是一个init方法吗?如果是这样,那么您应该使用init启动名称,并且您还应该通过大写名称中的所有单词(包括By)来遵守命名约定。

答案 1 :(得分:1)

'loadHtmlbyString method is not a method of the HtmlParser class, it is a method of your ClassName`类。

您是否在此行上收到编译器警告:

htmlParser = [[HtmlParser alloc] loadHtmlbyString:(NSString*) _description];

查看HtmlParser类的.h,看看为该类定义了哪些方法。