0

ビューコントローラーから別のクラスにアクセスしようとしていますが、機能していません:

viewcontroller.h

#import <UIKit/UIKit.h>
@class firstClass; //nsobject class


@interface ViewController : UIViewController
{
    firstClass *firstclass;

}

@property (retain,nonatomic) LEMZfirstClass *firstclass;

---
firstClass.h:

#import "LEMZViewController.h"


@interface firstClass : NSObject
{
    ViewController *viewController;
}

@property (retain,nonatomic) ViewController *viewController;


-(void)doSomenthing;


firstClass.m:

@synthesize viewController;


-(void)doSomenthing
{
    viewController.firstclass=self;
    viewController.outPutLabel.text=@"This is my Label";
}



viewcontroller.m:

@synthesize firstclass;

- (void)viewDidLoad
{
    [super viewDidLoad];
    [firstclass doSomenthing];

}

エラーなしでコンパイルされますが、ラベルが更新されることはありません。そのため、最初のクラスがすべてを呼び出すことはありません。私が間違っていることは何ですか?よろしくお願いします。

4

2 に答える 2

0

私が気づいているいくつかのこと:

  1. 通常、別のクラスではなく、独自の UI 要素を更新する ViewController クラス ハンドルを使用します。
  2. outPutLabel 変数はどこにありますか? コードまたは InterfaceBuilder に接続された IBOutlet によって作成されますか?
  3. firstclass で何かを呼び出す前に、それを作成する必要があります。このようなもの:

    firstclass = [[firstClass alloc] init]; [一流のdoSomething];

その場合、viewController.firstclass=self;回線は冗長になります。

于 2013-06-06T04:27:22.317 に答える