2016-03-08 213 views
1

我正在製作博客閱讀器應用程序。一切正常,直到我嘗試從單元格訪問detailView。我收到此錯誤,無法設置屬性

[UINavigationController setPFeedURL:]: unrecognised selector sent to instance 0x7f96d5802800

下面的代碼是在PRTableViewController.m

#import "PRTableViewController.h" 
#import "PRFeedPost.h" 
#import "PRDetailViewController.h" 

這是代碼是在崩潰發生

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 

if ([segue.identifier isEqualToString:@"showDetail"]){ 
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 
    PRFeedPost *feed_Post = [self.polisenFeed objectAtIndex:indexPath.row]; 
    [segue.destinationViewController setPFeedURL:feed_Post.url]; 
    } 
} 

這是爲了幫助你明白我正在嘗試設置FeedFeL。此外,在PRViewTableController.m

self.polisenFeed = [NSMutableArray array]; 

    NSArray *polisenFeedArray = [dataDictionary objectForKey:@"posts"]; 

for (NSDictionary *postDictionary in polisenFeedArray) { 
    PRFeedPost *fp = [PRFeedPost feedWithTitle:[postDictionary objectForKey:@"title"]]; 
    fp.author = [postDictionary objectForKey:@"author"]; 
    fp.thumbnail = [postDictionary objectForKey:@"thumbnail"]; 
    fp.date = [postDictionary objectForKey:@"date"]; 
    fp.url = [NSURL URLWithString:[postDictionary objectForKey:@"url" ]]; 
    [self.polisenFeed addObject:fp]; 

} 

現在PRDetailViewController.h,

這是該屬性是我想設置爲,

@property (strong, nonatomic) NSURL *pFeedURL; 
@property (strong, nonatomic) id detailItem; 
@property (strong, nonatomic) IBOutlet UIWebView *webView; 

這裏是PRDetailViewController.m代碼,

- (void)viewDidLoad { 
[super viewDidLoad]; 
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:self.pFeedURL]; 
[self.webView loadRequest:urlRequest]; 

我似乎無法弄清楚爲什麼會崩潰。我知道它有這行做的,

[segue.destinationViewController setPFeedURL:feed_Post.url]; 

(在leaset我認爲這是該行。我想不通,爲什麼我不能對它進行設置。

感謝您的幫助傢伙!

+0

感謝您的回覆techloverr,但我得到的錯誤是「爲UIViewController中沒有可見的接口聲明的選擇setPFeedURL」 – Ro4ch

+0

你試過嗎? – techloverr

回答

2

改變這種

PRDetailViewController *objPRDetailViewController = (PRDetailViewController *)[segue.destinationViewController topViewController]; 
objPRDetailViewController.pFeedURL=feed_Post.url;  

,並把婁代碼在viewDidAppear

NSURLRequest *urlRequest = [NSURLRequest requestWithURL:self.pFeedURL]; 
[self.webView loadRequest:urlRequest]; 
+1

'segue.destinationViewController.pFeedURL = feed_Post.url;'與** [segue.destinationViewController setPFeedURL:feed_Post.url] **是**完全相同的**;'所以它不會解決他的問題。他的問題是目標視圖控制器是'UINavigationController',但他認爲這將是他的自定義視圖控制器。 – DarkDust

+1

請編輯您的答案,而不是張貼更正評論。 – DarkDust

+0

@DarkDust謝謝 –

1

試試這個

[[((id)segue.destinationViewController) topViewController] setPFeedURL:feed_Post.url]; 

讓我知道,如果它

+0

是的,我嘗試過,但我在錯誤的部分回答。它沒有奏效,我馬上回家嘗試其他人提出的建議。再次感謝您的幫助。 – Ro4ch