-1

に追加された 2 つUIViewのサブクラスがありUIViewControllerます。サブクラスの 1 つは整数を設定し、IBActionが呼び出されたときに他のクラスがそれを使用する必要があります。

View1.h:

#import <UIKit/UIKit.h>

@interface View1 : UIView

@property(nonatomic) int concentration;

View1 .m:

@synthesize concentration;

concentration = 10-stepper.value; // in an IBAction called by a UIStepper

View2 .h:

#import <UIKit/UIKit.h>
#import "View1.h"

@interface View2 : UIView {

View1 *options;

}

View2 .m:

options = [[View1 alloc] init];
NSLog(@"%i", options.concentration); // always return 0

整数の「濃度」、View1が値を設定しているかどうかを確認しましたが、View2がそれを使用しようとすると常に0になります。

なぜ0なのですか?View1とinitとすべてを割り当てています:S

4

1 に答える 1

0

画面に表示されているものとは異なるview1のインスタンスをAllocで初期化しているため、これはうまくいきません。その参照を取得する必要があります。ただし、ビュー自体ではなく、ビュー コントローラー レベルでこれを行う方がよいでしょう。アクションメソッドはView Controllerにある必要があり、各サブビューへのアウトレットが必要です。

于 2013-08-22T15:41:13.270 に答える