このコードでは、プロトコルを使用して1つのタブビューから別のタブビューに配列を渡そうとしています。メソッド自体は、1行がmutableArrayを返す単純なgetメソッドです。それ自身のクラス内で動作しますが、このクラス内では呼び出されません。デリゲートメソッドが呼び出されないのはなぜですか?
- (void)viewDidLoad
{
[super viewDidLoad];
myLocationEntityArray = [[NSMutableArray alloc] initWithArray:[[self delegate] getMyLocationEntityArray]];
}
データを受信するクラスのヘッダーファイル:
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>
@protocol CoreDataDelegate;
@interface ListTableViewController : UITableViewController
{
NSManagedObjectContext *managedObjectContext;
NSMutableArray *myLocationEntityArray;
id <CoreDataDelegate> delegate;
}
- (NSMutableArray *)fetchCoreData;
@property(nonatomic, retain) NSManagedObjectContext *managedObjectContext;
@property(nonatomic, assign) id <CoreDataDelegate> delegate;
@property(nonatomic, retain) NSMutableArray *myLocationEntityArray;
@end
@protocol CoreDataDelegate
//- (NSMutableArray *) fetchCoreData;
- (NSMutableArray *) getMyLocationEntityArray;
@end
データを送信するヘッダファイルの先頭:
@interface MapViewController : UIViewController <CLLocationManagerDelegate, CoreDataDelegate>
の
-(void)getEntity:
機能は、デリゲートは、すでに設定されてundirectly呼びますか?私はそれがないと賭ける。 – DarkDustデリゲートはどこに割り当てられますか?ロケーションエンティティ配列を求めるときにself.delegateがnilではないと確信していますか? – jrturton
どうすれば設定できますか?私はこれが問題であるかもしれないと思って、self.delegate = selfを試みましたが、2つのタイプが互換性がないと言っているエラーを受けました。 – Deco