0

我有两个 UIView。一个被调用的 UIViewSelectText有一个 ivar,NSMutableArray它在执行某个功能后被填充。

这是一个片段代码:

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

注意:数组drawnPointsinitWithFrameSelectText 中初始化。此外,我总是通过在函数中添加日志来检查数组是否实际填充在视图中。

现在我想做的是从另一个视图访问这个数组。这就是我所做的:

文本视图.h

#import "SelectText.h"

@interface TextView : UIView
{
   SelectText *txtSel;
}

@property (nonatomic, retain) SelectText *txtSel;

文本视图.m

@synthesize txtSel;

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

从上面的代码可以看出,我正在尝试将里面的数据传递txtSel.drawnPointstextView.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 回答