我里面RootViewController.m一个代码位:iphone传递价值给其他类
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSManagedObject *selectedObject = [[self fetchedResultsController] objectAtIndexPath:indexPath];
BlogRssParser *blogRss = [[BlogRssParser alloc] init];
blogRss.terms = [[selectedObject valueForKey:@"data"] description];
//[blogRss setSelectedObject:selectedObject];
NSLog(@"%@", blogRss.terms);
RssFunViewController *rssFun = [[RssFunViewController alloc] initWithNibName:@"RssFunViewController" bundle:nil];
[self.navigationController pushViewController:rssFun animated:YES];
[rssFun release];
}
所以,当用户点击该行,它进入RssFunViewController。但它使用BlogRssParser来填充RssFun的tableview。所以我试图在它之间取得一个值,并从RootView向BlogRss发送一个值,这样它就可以用正确的数据填充RssFun。
我有这个在BlogRssParser.m:
-(BOOL)fetchAndParseRss{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
//To suppress the leak in NSXMLParser
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
NSLog(@"%@", self.terms);
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://news.search.yahoo.com/rss?ei=UTF-8&p=%@&fr=news-us-ss", self.terms]];
NSLog(@"%@", url);
BOOL success = NO;
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
[parser setDelegate:self];
[parser setShouldProcessNamespaces:YES];
[parser setShouldReportNamespacePrefixes:YES];
[parser setShouldResolveExternalEntities:NO];
success = [parser parse];
[parser release];
[pool drain];
return success;
}
在控制台中,RootView方面的日志具有正确的值。但是在BlogRssParser中,它出现为(null)。我已经在BlogRssParser.m中声明了属性。
这是我宣布它:
@interface BlogRssParser : NSObject {
BlogRss * _currentItem;
NSMutableString * _currentItemValue;
NSMutableArray * _rssItems;
id<BlogRssParserDelegate> _delegate;
NSOperationQueue *_retrieverQueue;
//NSManagedObject *selectedObject;
NSString *terms;
}
@property(nonatomic, retain) BlogRss * currentItem;
@property(nonatomic, retain) NSMutableString * currentItemValue;
@property(readonly) NSMutableArray * rssItems;
//@property(nonatomic,retain) NSManagedObject *selectedObject;
@property(nonatomic, retain) NSString *terms;
@property(nonatomic, assign) id<BlogRssParserDelegate> delegate;
@property(nonatomic, retain) NSOperationQueue *retrieverQueue;
我试过在BlogRssParser中,仍然没有工作,你的意思是在别的地方? – benhowdle89 2010-11-13 11:29:08
嗯。从第二个代码片段的方法是什么? – 2010-11-13 11:31:50
我会在我原来的帖子中放置更多的代码 – benhowdle89 2010-11-13 11:37:29