objective-c 別クラスのメソッドをコールする方法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
べっきー

objective-c 別クラスのメソッドをコールする方法

#1

投稿記事 by べっきー » 14年前

objective-c初心者です。

AppDelegateプロトコルのメソッドから、MainViewControllerプロトコルの
メソッドAをコールにするにはどうのようにコーディングすればいいでしょうか?

ググって調べて以下のコーディングを行ったのですが、Aのメソッドのコールすらされませんでした。

よきアドバイスお願いいたします・・・。

AppDelegate.h
@class MainViewController;
@interface AppDelegate : NSObject <UIApplicationDelegate>
{
:
MainViewController *mainViewController;
}

AppDelegate.c
[mainViewController A];

MainViewController.c
- (void) A{
:
}

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: objective-c 別クラスのメソッドをコールする方法

#2

投稿記事 by h2so5 » 14年前

不完全なコードではなく、ちゃんとした全体のコードを載せてください。
特に、[mainViewController A]; がどこに書かれているのか不明です。

べっきー

Re: objective-c 別クラスのメソッドをコールする方法

#3

投稿記事 by べっきー » 14年前

巨大なソースで全部のせきれないのですが要点を抜粋してソース記載しなおしました。
よろしくお願いいたします。

★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 別クラスのメソッドをコールする方法

#4

投稿記事 by べっきー » 14年前

余分な宣言を削除し、やっと以下でメソッド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

閉鎖

“C言語何でも質問掲示板” へ戻る