2010-09-21 126 views
0

使用製表符在兩個視圖控制器之間切換。在多個視圖控制器之間傳遞浮點數

如何檢索secondviewcontroller中的float,這是在firstviewcontroller中啓動的?我應該做一些全局變量?我在哪裏以及如何做到這一點?

謝謝你們:)

+0

在我的firstviewcontroller.h文件中,我有IBOutlet UILabel * greeti float RWI; float升; @property(nonatomic,retain); IBOutlet UILabel *問候; - (IBAction)updatePrefs:(id)sender; @property(nonatomic)float * RWI; @property(nonatomic)float * Liters; – anneke 2010-09-21 13:08:12

回答

0

全局變量是永遠需要的,我會強烈建議使用一些消息傳遞模式,某事物SecondViewController和FirstViewController可以在他們改變對另一個感興趣的任何東西時進行同步。 乍看之下,我只發現了這個指導http://www.informit.com/articles/article.aspx?p=1398611講述可可中的消息傳遞模式,我猜iPhone已經有了樣本實現。

0

使用的AppDelegate對於這

+(BOOL)SetData:(float)Value 
{ 
GlobalValue=Value; 
} 

+(float)ReturnData 
{ 
return GlobalValue; 
} 

和這樣調用

[YourAppDelegate ReturnData]; 
+0

不知道這是否應該作爲一個新的問題添加? 好吧我試過使用NSUserDefaults。首先我嘗試了一個字符串,它的工作,現在我努力做到與浮法一樣。 在我的firstviewcontroller.h中 'IBOutlet UITextField * nameField; IBOutlet UILabel *問候; float RWI; float升; @property(nonatomic)float * Liters;' @property(nonatomic,retain); IBOutlet UILabel *問候; @property(nonatomic,retain)IBOutlet UITextField * nameField; - (IBAction)updatePrefs:(id)sender; @property(nonatomic)float * RWI; ' – anneke 2010-09-21 13:23:46

+0

在.m文件中 'float RWI; // @合成RWI;這應該在這裏嗎? @synthesize Liters; @synthesize問候; \t - (IBAction)updatePrefs:(id)sender { NSUserDefaults * prefs = [NSUserDefaults standardUserDefaults]; [prefs setObject:nameField.text forKey:@「greeting」]; [prefs setFloat:20 forKey:@「Liters」]; [prefs synchronize]; 對於secondviewcontroller.h IBOutlet UILabel * greeting; float *升; } @property(nonatomic,retain)IBOutlet UILabel * greeting; @end – anneke 2010-09-21 13:24:02

+0

In。m @implementation secondviewcontroller @synthesize greeting; @synthesize Liters; - (void)viewDidLoad {super viewDidLoad]; NSString * prefs = [[NSUserDefaults standardUserDefaults] objectForKey:@「greeting」]; float Liters = [prefs floatForKey:@「Liters」]; greeting.text = prefs; \t }任何幫助,將不勝感激! :D – anneke 2010-09-21 13:24:27

0

你可以把這個變量應用程序委託的財產,這將是從你的應用程序中的任何地方訪問。如果你不想因爲任何原因想要這樣做,你可以創建一個「助手」單例來保存這些變量並重新設置它們的屬性。

+0

好的,我會在我的應用程序中繼續使用delegate.h \t float RWI; @property(nonatomic,retain)float * RWI;'?以及如何從我的視圖控制器調用它? – anneke 2010-09-21 10:00:26

+0

你不能保留一個浮動,否則是的。在您的視圖控制器,執行:'浮動RWI = [[[[UIApplication sharedApplication]委託] RWI];' – Toastor 2010-09-21 10:05:27

+0

對不起,我真的很新這個..我如何發送從我firstviewcontroller,然後如何檢索它在我的secondviewcontroller? – anneke 2010-09-21 10:14:42

相關問題