2012-09-26 19 views
0

我在類A(的tableview控制器)其中,I具有B級(的UserDetails類)的一個對象的功能.Something像:調用從另一個類的功能在一類的函數聲明的對象

-(void) connectionFinishedLoading:(NSURLConnection*) connection :(UserDetails *) user{ 

//some code 
user=A; 
} 

我想使用「用戶」對象的值在一個函數類C(表視圖控制器)的(來自A類函數不同).Something像:

-(void)newfunction :(NSURLConnection*) connection{ 
//I want to use the value of "user" here. 
    } 

感謝。

回答

0

最好的方式來存儲一個值,並在各種類中使用它是使用appDelegate類的屬性。

在你的appDelegate類中創建一個屬性說NSString * user;合成它

-(void)newfunction :(NSURLConnection*) connection{ 
//I want to use the value of "user" here. 
    YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication]delegate]; 
NSLog(@"%@",appDelegate.user); 
    } 
+0

謝謝你的解決方案:) – HakunaMatata

+0

上述問題的擴展connectionDidFinishLoading像

YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication]delegate]; appDelegate.user = A; 

進一步營造AppDelegate中的一個實例:connectiondidFinishLoading被稱爲上的點擊與該視圖控制器中的每一行對應的按鈕。並且與該行對應的數據必須打印在C類中(在newfor函數之後調用的cellforRowatIndexPath方法中)。並且打印應該是這樣的,如果我點擊兩個按鈕,那麼應該打印對應於兩行的數據。但是,我無法打印這兩個數據。第二個數據將被第一個數據覆蓋,並且只有最新的數據纔會被打印。 – HakunaMatata

1

將您需要在不同類中使用的對象存儲在像Singleton這樣的共享佔位符類中。然後簡單地獲取其共享實例並檢索您需要的對象。谷歌有點得到一個模式。

相關問題