データを渡すためにデータを渡すことができませんNAV BARに埋め込まれたコントローラ -- ios フィールド と swift フィールド と xcode フィールド 関連 問題

Unable to pass data to View Controller embedded in nav bar












0
vote

問題

日本語

これをやろうとしています。

Nav Barに埋め込まれているアプリケーションビューコントローラにデータを渡したい。したがって、エラーが発生します。「UInavigationController」型の値をキャストできませんでした。

私は同じ実装方法を理解することができません。助けが大いに評価されています。ありがとうございました。

英語

I am trying to do something this: enter image description here

I want to pass some data to ApplicationsViewController which is embedded in nav bar, therefore I get the error: Could not cast value of type 'UINavigationController'

I am not able to understand how to implement the same. Help is much appreciated. Thank you.

</div
        
 
 

回答リスト

3
 
vote
vote
ベストアンサー
 

理由は、 InboxViewController segueの宛先として InboxViewController の宛先として直接データを渡すことはできません。 UINavigationController

だから、最初に UINavigationController にアクセスする必要があります。 ApplicationsViewController のスタックから

下記のコードを試してください。

<事前> <コード> override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "goToApplications" { if let navigation = segue.destination as? UINavigationController, let applicationVC = navigation.topViewController as? ApplicationsViewController { applicationVC.id = "RGB" } } }
 

The reason is you can't pass data directly to ApplicationViewController as InboxViewController segue's destination is UINavigationController.

So, first you need to access UINavigationController and after that ApplicationsViewController from the stack.

Try the code below:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {     if segue.identifier == "goToApplications" {         if let navigation = segue.destination as? UINavigationController, let applicationVC = navigation.topViewController as? ApplicationsViewController {             applicationVC.id = "RGB"         }     } } 
</div
 
 
0
 
vote

UinavigationControllerのRootViewControllerであるPass Data Application View Controllerの場合。宛先ViewControllerとして、Navigation ControlerとTypeのセグメント名をuinavigationControllerとして指定する必要があります。 アプリケーションビューコントローラであるRootViewControllerをフェッチし、ID

の値の割り当て

これは、アプリケーションViewController

に値を割り当てる方法です。 <事前> <コード> override func prepare(for segue: UIStoryboardSegue, sender: Any?) { // Get the new view controller using segue.destinationViewController. // Pass the selected object to the new view controller. if segue.identifier == "navigationSegue" { // segue of navigationVC let navVc = segue.destination as! UINavigationController let appVc = navVc.viewControllers.first as! ApplicationsViewController appvc.id = "RGB" } }
 

when pass data application view controller which is rootviewController of UINavigationController. you should give segue name of navigation controler and type cast as UINavigationController as destination viewcontroller. Fetch rootviewController which is application View controller and assign value of id

Here is code how to assign value to Application ViewController

  override func prepare(for segue: UIStoryboardSegue, sender: Any?) {         // Get the new view controller using segue.destinationViewController.         // Pass the selected object to the new view controller.         if segue.identifier == "navigationSegue" {  // segue of navigationVC             let navVc = segue.destination as! UINavigationController             let appVc = navVc.viewControllers.first as! ApplicationsViewController             appvc.id = "RGB"         }     } 
</div
 
 

関連する質問

0  Xcode 3.2設定はまだOS X 10.4フレームワークにアクセスします。  ( Xcode 3 2 configuration still accessing os x 10 4 framework when 10 5 is selecte ) 
私は10.5(コアテキストのように)紹介されているいくつかの機能を試してみたいので、基本SDKと展開ターゲットをMac OS X 10.5に設定します。 私はまた、選択されたすべてのフレームワークが選択されたSDKに対してパスを持っていることも確実であり、ツー...

2  iPhone用Xcodeマクロ  ( Xcode macros for iphone ) 
誰にでも、クラスのIVARを強調表示してキーストロークを押しながら、適切な場所で自分のコードに行を挿入し、行を挿入し、そのプロパティを挿入して、行を挿入し、そのプロパティを挿入してください。私はこれをしばらくしていて、ボイラープレートのものが時々私の神経に乗っ...

3  特定のファイルのオーバーライドとしてのXcode "ソースのコンパイルソース  ( Xcode compile source as override for specific file ) 
「コンパイルソースとして「コンパイルソースとして」の値(ファイルの種類に従って "SOFTER"のObjective-C ++ "に設定する必要があるプロジェクトがあります。メインプロジェクトでは機能しません。私は "Objective-C ++"としてコンパ...

338  Xcodeの隠された機能  ( Hidden features of xcode ) 
ロック。この質問とその答えは <ですが、質問はトピックですが歴史的に重要です。現在新しい回答ややり取りを受け付けていません。 Xc...

2  コードを通じてアプリの設定を変更する方法  ( How to change the app preference settings through code ) 
デバイス設定アプリでアプリをリストしました。Device App Settingsアプリを介してアプリの設定を変更できます。 今やろうとしていることは逆です。 アプリの中からアプリの設定を変更した場合、それ自身がデバイス設定アプリでその設定を変更できるようにア...

0  接尾辞を変更する方法Xcodeプロジェクトを使用してフォルダ製品のWebPluginにバンドルしますか?  ( How to change suffix bundle into webplugin in the folder products with xcode pr ) 
サファリを使ったプラグインを開発するように警告しました。その後、プラグインが機能している場合は、app.webpluginがフォルダに配置されます。/ library / Internet Plugins。 しかし、プロジェクトツリーのProductsフォルダ...

0  コアデータ - 期待どおりに機能しないエンティティ関係  ( Core data entity relationships not working as expected ) 
私はXcodeでデータモデルを設定しました Entitya atta1. atta2 EntityB ATTB1 attb2. ATTB3 その後、関係を設定します Entitya 名前:RLPTOENTITYB 宛先:ENTITY...

2  ココア/アップルシンボルサーバー  ( Cocoa apple symbol server ) 
マイクロソフトパブリックシンボルサーバーとwindbg ? 基本的に GDBはシンボルサーバーとの概念をサポートしていますか Appleは自分の公開シンボルのために公開URLを供給しますか? ...

1  NSNUMBERFORMATTERは科学的スタイルで桁情報を尊重していません  ( Nsnumberformatter not honoring digit information in scientific style ) 
科学的なスタイルにいくつかの小数を展示しようとしています。 NSDecimalNumberとNSNumberFormatterオブジェクトを使用しています。桁数が最小と最大数を設定するときは、元の数からの情報が失われたようです。たとえば、次のコード例を検討して...

31  GDBチートシート  ( Gdb cheat sheet ) 
誰もがGBDのための良いチートシートを推薦することができますか?私はWinDBGコマンドで経験しています.LML(リストロードモジュール)、〜* k(すべてのスレッドスタック)、BA(Break On Access)、DT(ダンプタイプ)、DV(ダンプフレーム...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有