- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Xcodeのクラスについてお聞きします。)
Xcodeのクラスについての質問
このQ&Aのポイント
- Xcodeのクラスについてお聞きします。何らかのクラスをつくり、ViewControllerからクラスを生成してそのクラス(以下TestClass)のメソッドにアクセスします。TestClassのメソッドから呼び出し元のViewControllerの変数若しくはメソッドにアクセスすることはできるのでしょうか?
- Xcodeでクラスを使ってViewControllerから別のクラスのメソッドにアクセスする方法や、呼び出し元の変数やメソッドにアクセスする方法について教えてください。
- Xcodeのクラスで、TestClassというクラスを作成し、そのメソッドから呼び出し元のViewControllerの変数やメソッドにアクセスすることは可能ですか?どのような方法があるでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#177743
回答No.1
よくわからないのですが、lavelWriteメソッドでUILabelを引数に渡せばいいだけと思うんですが、それじゃまずいんですか?
お礼
すみません。自己解決しました。 ViewControllerからTestClassに@property id型のselfで渡して そのid型からViewControllerを生成するとViewController変数にアクセスできました。 ありがとうございました。
補足
TestClassのlabelWriteクラスからViewControlerの@propaty化したUIlabelに書き込むといったことをしたいのですがこれは出来ないのでしょうか? ViewControllerをインポートしてアクセスしてみましたがvc.labelの値を読めませんでした。 @interface ViewController : UIViewController{ UIlabel *label; //TestClassから書き込みたい } @property UIlabel *label; @end @implementation ViewController @synthsize label; -(void)viewDidLoad{ TestClass *class = [[TestClass alloc] init]; [class labelWrite];//クラス呼び出し } - (void)hoge{ //TestClassからここにアクセスしたい //処理 } @end #import "ViewController.h" @interface TestClass : NSObject @end @implementation TestClass - (void)labelWrite{ //ここからViewControllerのlabelに書き込みたい //もしくはViewControllerのhogeメソッドにアクセスしたい ViewController *vc = [[ViewController alloc] init]; //ここでvc.labelを読み書きすることはできませんか? } @end