プロトコルに問題があります。
私の「初期ビュー コントローラー」はナビゲーション コントローラーです。ルートページで、ビューコントローラーが埋め込まれた他のナビゲーションコントローラーを表示します。onclick セグエを起動する必要があります...これは完全に機能しますが、「ViewController」のデリゲートメソッドは呼び出されません。
追加した画像は、iOS 5 で InterfaceBuilder を使用して 2 つの NavigationController 間の接続を構築する方法の例です。
MyViewController.h
@protocol MyProtocol <NSObject>
@required
- (void) myFunction:(NSString *)string;
@end
@interface MyViewController : UIViewController <MyProtocol>
@property (nonatomic, assign) id<MyProtocol> delegate;
@end
MyViewController.m
#import "MyViewController.h"
@implementation PropertyController
@synthesize delegate = _delegate;
- (void) myFunction:(NSString *)string {
[_delegate myFunction:string];
}
- (IBAction) callDelegate:(id)sender {
![enter image description here][1][self myFunction:@"test"];
}
これは、上から NavigationController を表示している ViewController のコードです。
ViewController.h
#import "MyViewController.h"
@interface ViewController : UIViewController <MyProtocol>
ViewController.m
#import "ViewController.h"
@implementation ViewController
- (void) myFunction:(NSString *)string {
NSLog(@"myFunction was called");
}
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
[((MyViewController *) segue.destinationViewController) setDelegate:self];
}
- (IBAction) showModalNavigationController {
[self performSegueWithIdentifier:@"NameFromSegueInInterfaceBuilder" sender:self];
}
問題の解決策が見つかりません。
誰かが私を助けてくれることを願っています
ありがとうございました :)