2012-07-02 32 views
0

我爲它創建了一個鏈表和全局啓動變量。 我想從其他類的起始節點訪問相同的鏈表,但其值在viewDidLoad方法後丟失。 從viewDidLoad我可以遍歷列表,但不能從其他方法..我想它的autoreleasepool我怎麼能保留開始指針的起始值? 節點結構是鏈接列表的START變量在視圖加載後丟失了它的值

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; 
} 
} 
+0

遺憾和Thanku。 – amar

+0

嗯,清晰度。 「鏈表」是一個結構還是數組?什麼是「開始節點」?這是關於autoreleasepools的討論? – CodaFi

+0

我正在使用一個結構(給出的代碼)。開始是一個結構節點* START變量,它存儲鏈接列表的第一個節點的地址。它只能在viewDidLoad方法中訪問,其餘的不是它的全局變量 – amar

回答

0

通過結構的 1.insted解決了這個問題,我用類。 2.i在應用程序委託中聲明瞭START變量。

使用類允許我這樣稱呼保留其objc我現在可以很好地從任何地方

訪問鏈表thanku