.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;
答案 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,看看为该类定义了哪些方法。