1
我有一個單例,我用它來解析XML然後緩存它。解析/緩存是通過一個塊完成的。有沒有辦法讓我從另一個類傳遞參數給這個塊,這樣我就可以從單身之外更改URL了?將參數傳遞給塊?
這裏是我現在的代碼:
// The singleton
+ (FeedStore *)sharedStore
{
static FeedStore *feedStore = nil;
if(!feedStore)
feedStore = [[FeedStore alloc] init];
return feedStore;
}
- (RSSChannel *)fetchRSSFeedWithCompletion:(void (^)(RSSChannel *obj, NSError *err))block
{
NSURL *url = [NSURL URLWithString:@"http://www.test.com/test.xml"];
...
return cachedChannel;
}
這裏的地方我需要從修改NSURL類:
- (void)fetchEntries
{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
// Initiate the request...
channel = [[BNRFeedStore sharedStore] fetchRSSFeedWithCompletion:
^(RSSChannel *obj, NSError *err) {
...
}
}
我如何通過從fetchEntries
到fetchRSSFeedWithCompletion
的說法?
真棒,謝謝!仍然學習塊如何工作,所以不知道如何修改該方法:) – bmueller
該代碼似乎沒有修改返回線在最後工作正常 - 是否有任何特殊的原因,我應該補充說,完成(cachedChannel,錯誤) ;'而不是隻是返回'cachedchannel'? – bmueller
對一個人來說是多餘的。如果你的xml在後臺被解析(它應該是),你也可能遇到一些問題。 – jordanperry