2015-08-22 21 views
-1

爲了避免將此問題標記爲重複:我已經看到此問題(Passing Data between View Controllers),但這是針對iOS的。我見過很多其他類似的問題,但都爲IOS提供了答案。我的問題是針對OS-X應用程序。在OS X中的2個NSView控制器之間傳遞數據的正確方法目標c應用

是的,我做了檢查,在這裏和谷歌,但我無法找到任何解決OS-X中的這個問題。

有了這樣說,這裏是一個問題:

在我NSViewControllers之一(MasterTableViewController)我有以下方法:

- (IBAction)tableViewDoubleClick:(id)sender { 

    NSInteger rowNumber = [_websitesTableView clickedRow]; 
    NSTableColumn *column = [_websitesTableView tableColumnWithIdentifier:@"websiteUrl"]; 
    NSCell *cell = [column dataCellForRow:rowNumber]; 
    NSString *cellValue = [cell stringValue]; 

} 

我怎麼能(應該)正確地傳遞這些數據(rowNumber,cellValue)到另一個NSViewController(DetailViewController)?

+1

是什麼讓你認爲iOS的答案都不適用於OSx? –

+0

我無法調用[self pushViewController:viewControllerB animated:YES];在OSX中...我閱讀了所有的答案,並且os-x沒有答案。 os-x中沒有pushViewController方法。 Segue現在在os-x中,但我使用.xib文件。如果你能在那裏找到解決方案,你能否指出一下,因爲我在那裏找到了所有的答案2次,並且沒有任何幫助。 – user2417624

+0

這只是大約20個答案中的一個。 –

回答

1

更高層次的答案是「不要」。你基本上使用一個表格單元格(一個UI項目)作爲你的下一個控制器的數據模型,這可能會起作用,但當應用程序變得複雜時,它很容易出錯。

你最好用真實的數據模型對象跟蹤你在單元格中出現的信息。您發佈的所有方法都必須告訴數據模型哪個項目現在是選定的項目,並且在下一個控制器出現時可以使用相同的信息。

+0

我在.xib文件中有一個tableview。用戶點擊該行。我想知道哪個行被點擊過,然後打開新的.xib文件,並且我需要在新加載的.xib文件中包含這些數據。你能給我任何想法我怎麼能做到這一點? – user2417624

相關問題