1

私はこれに関してすでにスタックにいくつかの質問があることを知っています、そして私はそれらすべてを通り抜けてきました。

デバッグすると、デリゲートメソッドを呼び出すコード行が無視されているように見えます。ここに行があります: [_delegate insertDataLocation:dbLocation Time:dbTime Reminder:dbReminder];

デリゲートが適切に設定されていないことが問題であると想定しているので、次のように設定しました。

ViewController.h

@protocol mapDelegate;

@interface ViewController : UIViewController

@property (strong, nonatomic) id<mapDelegate> delegate;

ViewController.m

@synthesize delegate = _delegate;

- (void)viewDidLoad
{
[super viewDidLoad];
[self setDelegate:_delegate];
}

//Here's where I call the method, FYI
[_delegate insertDataLocation:dbLocation Time:dbTime Reminder:dbReminder];

AppDelegate.h

@protocol mapDelegate
-(void)insertDataLocation:(NSString*)l Time:(NSString*)t Reminder:(NSString*)r;
@end

@interface AppDelegate : UIResponder <UIApplicationDelegate, mapDelegate>

AppDelegate.m

-(void)insertDataLocation:(NSString*)l Time:(NSString*)t Reminder:(NSString*)r {
//Here's my method's code
}
4

1 に答える 1

3

1)id<mapDelegate> delegate;.hファイルの先頭にある宣言を削除します。@synthesizeステートメントでプロパティを_delegateという変数に関連付けたため、もう1つは誤解を招く可能性があります。

2)「これが私が設定した方法です」とあなたは言いますが、実際にデリゲートを何らかのオブジェクトに設定するものは何も見当たりません。

3)通常、通常の方法ではself.delegateなく使用することをお勧めします。_delegate

于 2012-04-05T20:50:28.790 に答える