objective-c初心者です。
AppDelegateプロトコルのメソッドから、MainViewControllerプロトコルの
メソッドAをコールにするにはどうのようにコーディングすればいいでしょうか?
ググって調べて以下のコーディングを行ったのですが、Aのメソッドのコールすらされませんでした。
よきアドバイスお願いいたします・・・。
AppDelegate.h
@class MainViewController;
@interface AppDelegate : NSObject <UIApplicationDelegate>
{
:
MainViewController *mainViewController;
}
AppDelegate.c
[mainViewController A];
MainViewController.c
- (void) A{
:
}
objective-c 別クラスのメソッドをコールする方法
Re: objective-c 別クラスのメソッドをコールする方法
不完全なコードではなく、ちゃんとした全体のコードを載せてください。
特に、[mainViewController A]; がどこに書かれているのか不明です。
特に、[mainViewController A]; がどこに書かれているのか不明です。
-
べっきー
Re: objective-c 別クラスのメソッドをコールする方法
巨大なソースで全部のせきれないのですが要点を抜粋してソース記載しなおしました。
よろしくお願いいたします。
★AppDelegate.h
@class MainViewController;
@interface AppDelegate : NSObject <UIApplicationDelegate>
{
:
MainViewController *mainViewController;
}
@property (nonatomic, retain) MainViewController *mainViewController;
★AppDelegate.c
@implementation AppDelegate
@synthesize mainViewController;
//非同期通信データ受信
- (void)statusesReceived:(NSArray *)statuses forRequest:(NSString *)connectionIdentifier{
:
:
[mainViewController A];
}
@end
★MainViewController.c
@implementation MainViewController
:
- (void) A{
:
}
@end
よろしくお願いいたします。
★AppDelegate.h
@class MainViewController;
@interface AppDelegate : NSObject <UIApplicationDelegate>
{
:
MainViewController *mainViewController;
}
@property (nonatomic, retain) MainViewController *mainViewController;
★AppDelegate.c
@implementation AppDelegate
@synthesize mainViewController;
//非同期通信データ受信
- (void)statusesReceived:(NSArray *)statuses forRequest:(NSString *)connectionIdentifier{
:
:
[mainViewController A];
}
@end
★MainViewController.c
@implementation MainViewController
:
- (void) A{
:
}
@end
-
べっきー
Re: objective-c 別クラスのメソッドをコールする方法
余分な宣言を削除し、やっと以下でメソッドAを呼ぶ事ができたのですが、メソッドAで実施しているテーブル更新が
うまく動作しません。たびたびの質問で申し訳ないのですが何が悪いのでしょうか?
★AppDelegate.c
@implementation AppDelegate
//非同期通信データ受信
- (void)statusesReceived:(NSArray *)statuses forRequest:(NSString *)connectionIdentifier{
:
:
id test = [[MainViewController alloc] init];
[test A];★Aメソッドを呼んでいる
}
@end
★MainViewController.c
@implementation MainViewController
:
- (void) A{
[TableView reloadData];★呼ばれているがテーブルが更新されていない
}
@end
うまく動作しません。たびたびの質問で申し訳ないのですが何が悪いのでしょうか?
★AppDelegate.c
@implementation AppDelegate
//非同期通信データ受信
- (void)statusesReceived:(NSArray *)statuses forRequest:(NSString *)connectionIdentifier{
:
:
id test = [[MainViewController alloc] init];
[test A];★Aメソッドを呼んでいる
}
@end
★MainViewController.c
@implementation MainViewController
:
- (void) A{
[TableView reloadData];★呼ばれているがテーブルが更新されていない
}
@end