私は、モーダルセグをUINavigatioController(設定)に呼び出すVC(ルート)を持っています。ユーザーは自分が望むものを変更することができます。最初のVC(ルート)に、変更が行われたことを知らせるにはどうすればよいですか。 UINavの代理人は(ルート)VCです。モーダルセグからデータを戻すためのアイデアはありますか?歓声データをUINavigationControllerパーティーに渡す
0
A
答えて
2
あなたのAppDelegateを、子VCが呼び出すことができる中央通信ハブとして使用し、データを渡します。次のことを試してみてください。
まず、共有デリゲートクラスメソッド、およびそのようなあなたのAppDelegateで、児童VCにデータを渡す方法設定:
// In MyAppDelegate.h
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
@interface MyAppDelegate : NSObject {
// rootviewcontroller is the parent of your UINavigationController
UIViewController *rootViewController;
}
+ (MyAppDelegate *)sharedAppDelegate;
-(void)passData:(NSString*)myString;
と..だから
// In MyAppDelegate.m
#import "MyAppDelegate.h"
@implementation MyAppDelegate.m
+ (MyAppDelegate.m *)sharedAppDelegate
{
return (MyAppDelegate.m *) [UIApplication sharedApplication].delegate;
}
-(void)passData:(NSString*)myString{
// pass data to parent of UINavigationController
[rootViewController hereIsSomeData:myString];
}
を
そしてUINavigationController(VC.m)の.mファイルから、AppDelegateクラスをインポートし、共有デリゲートをインスタンス化します。これにより、AppDelegateを "呼び出し"てデータを送信することができます。
// In VC.m
#import "MyAppDelegate.h";
// ...
NSString *myString = @"alskdjfalsdjfq324r";
[[MyAppDelegate sharedAppDelegate] passData:myString];
0
別の方法もあります。親コントローラにNSMutableDictionaryなどの可変オブジェクトを作成し、それを子コントローラに渡すことができます。子コントローラ内のNSMutableDictionaryに対する変更は、両方ともメモリ内の同じオブジェクトへのポインタであるため、元の親コントローラに引き継がれます。がんばろう!
関連する問題
- 1. BizTalk 2010 X12 EDIパーティー
- 2. Swift - UInavigationControllerを渡して変数を渡す方法
- 3. UINavigationControllerのUINavigationController内のUITabBarController内のUINavigationController
- 4. パーティー::: ctreeモデルからトレーニングデータを削除するには?
- 5. ゲームのLANパーティーのためのリモートビューアを作成するには?
- 6. UIViewControllerをUINavigationControllerにプッシュ
- 7. UINavigationControllerをコードに戻す
- 8. UINavigationController
- 9. UINavigationController
- 10. Biztalk 2010でのパーティーと契約作成?
- 11. Node.js kafka-nodeパーティーの種類の使用
- 12. UINavigationController - 戻るボタンによりデータが破損する
- 13. ベスト・アプローチSymfony2にサード・パーティー・ファイルを含めるには
- 14. UIView全体を1つのViewControllerから別のViewControllerにUINavigationController経由で渡す
- 15. appDelegateからUINavigationcontrollerのビューコントローラの1つに情報を渡す方法
- 16. 「パーティー」はjavaのPhaserオブジェクトに関連しています
- 17. AppDelegateにデータを渡す
- 18. Sails.js - データをビューに渡す
- 19. Windowsコンソールコントロールハンドラにデータを渡す
- 20. サーブレットにデータを渡す
- 21. パーシャルビューにデータを渡すActionLink
- 22. フラスコテンプレートにデータを渡す
- 23. コンポーネントangular2にデータを渡す
- 24. データ - *をブートストラップに渡すModal
- 25. Meteor - テンプレートにデータを渡す
- 26. startup.csにデータを渡す
- 27. "unknown" viewcontrollerにデータを渡す
- 28. angular2コンポーネントにデータを渡す
- 29. モーダルポップアップにデータを渡す
- 30. データをProgrammatic UITabBarControllerに渡す
恐ろしい解決策!!!!ありがとうございました... "中央通信拠点としてのアプリケーションデリゲート"とよく言われています。これは、同じナビゲーションコントローラの一部ではない代理人を保持するクールな解決策になります。再度、感謝します ! – user1046037