0

2 つの UIView があります。呼び出された1つのUIViewには、特定の機能を実行した後に移入さSelectTextれるivarがあります。NSMutableArray

スニペット コードは次のとおりです。

- (void)fillDrawPoints
  {
      //the codes....
     [self.drawnPoints addObject:[NSValue valueWithCGPoint:currPoint]];
  }

注:配列drawnPointsinitWithFrameSelectText で初期化されます。また、関数にログを入れて、配列が実際にビュー内に取り込まれているかどうかを常に確認します。

今私がしたいことは、別のビューからこの配列にアクセスすることです。これが私がすることです:

TextView.h

#import "SelectText.h"

@interface TextView : UIView
{
   SelectText *txtSel;
}

@property (nonatomic, retain) SelectText *txtSel;

TextView.m

@synthesize txtSel;

- (void)getDrawingPoints:(NSMutableArray *)pointArray
{
    self.pointArray = pointArray;
    NSLog(@"Array count: %d", [self.pointArray count]);
}

上記のコードからわかるように、後で使用txtSel.drawnPointsするために内部のデータを に渡そうとしています。textView.pointArray問題は、txtSel.drawnPoints別のビューからアクセスしようとすると、常に空が返されることです。ここで何が間違っていますか?

追加:

これが私が着想する方法ですSelectText

- (id)initWithFrame:(CGRect)frame
  {
      self = [super initWithFrame:frame];
      if (self) {
         txtSel = [[SelectText alloc]init];
         [self addSubView:txtSel];

         //rest of code...
  }
4

1 に答える 1

0

TextView クラスの init メソッドを以下のように変更します

- (id)initWithClassSelectText:(SelectText *)selectText {
     if ((self = [super init])) {
         txtSel =  selectText; 
     }
     return self;
}

TextView のインスタンスを作成するときは、これを使用します。

TextView textView = [[TextView alloc] initWithClassSelectText:self];

txtSelオブジェクトを使用して SelectText クラスのすべてのプロパティにアクセスできるようになりました

于 2012-07-11T04:51:04.383 に答える