0

我为它制作了一个链表和一个全局起始变量。我试图从另一个类中的起始节点访问相同的链表,但在该viewDidLoad方法之后它的值丢失了。从viewDidLoad我能够遍历列表但不能从其他方法..我猜它autoreleasepool在起作用我怎样才能保留起始指针的起始值?节点结构是

struct Movenode{
    NSMutableString *comment;
    NSMutableString *move;
    struct Movenode *variationLink;
    struct Movenode *nextLink;
    struct Movenode *goBack;
};


//viewDidLoad  Metod
- (void)viewDidLoad
{
    [super viewDidLoad];

    myNode=START;
    While(myNode!=NULL)
    {
      NSLog(@"%@",myNode->move);
      myNode=myNode->nextLink;
    }
//it works fine here
}

-(void)otherMethod
{

myOtherNode=START;
while(myOtherNode!=NULL)
{
NSLog(@"%@",myOtherNode->move);//this line will give bad access there is no value in move.
myOtherNode=myOtherNode->nextLink;
}
}
4

1 回答 1

0

通过我使用类的 1.insted 结构解决了这个问题。2.我在应用程序委托中声明了 START 变量。

使用类允许我在其 objc 上调用保留我现在可以很好地从任何地方访问链接列表

感谢你

于 2012-07-03T06:57:48.187 回答