我只是爲了學習更客觀的目的而提出申請。這個應用程序基本上把用戶帶到模態視圖,然後給用戶選項(uibuttons)點擊。當用戶點擊一個按鈕時,模式視圖被解除,我想從該按鈕中獲取數據(無論是按鈕標籤,標籤等,哪一個最容易使用)並將其作爲變量存儲我的主要觀點。我曾嘗試使用在單獨的.h文件中定義的外部NSString,但沒有運氣。我錯過了什麼?將數據從視圖傳遞到視圖?
0
A
回答
0
0
你必須使用委託方法來傳遞價值看到蘋果文檔
1
使用代表團。制定一個協議。
@protocol SelectValueDelegate <NSObject>
@optional
- (void) selectedValue:(NSString *)values selectionViewController:(UIViewController *)controller;
- (void)selectionCanceled:(UIViewController *)controller;
@end
實現它你MainViewController.h
@interface MainViewController : UIViewController<SelectValueDelegate> {
//....
}
和.m
文件中是這樣的:
- (void) selectedValue:(NSString *)values selectionViewController:(UIViewController *)controller
{
//here you have value.
[controller dissmissModalViewControllerAnimated:YES];
}
- (void)selectionCanceled:(UIViewController *)controller
{
[controller dissmissModalViewControllerAnimated:YES];
}
,並在您ModalViewController
作出這樣委託的屬性:
@interface ModalViewController : UIViewController
id<SelectValueDelegate> delegate;
}
@property(assign)id delegate; // synthesize it also
現在按一下按鈕做這樣的事情:
-(IBAction)buttonClicked:(id)sender
{
[delegate selectedValue:@"Value" selectionViewController:self];
}
和內部MainViewController
模態呈現時,做這樣的事情:
ModalViewController *screen = [[ModalViewController alloc] initWithBlahblah];
screen.delegate = self;
[self.navigationController presentModalViewControllerAnimated:YES];
+0
我要給這個嘗試 - 它看起來直接和有用。謝謝! – Radrider33 2012-03-20 14:57:34
0
您可以將數據存儲在的appDelegate對象這是代表文件的應用程序,
你可以的appDelegate聲明對象:
NSString *buttonName;
然後對這個對象進行屬性和綜合。
這樣做了以後,放碼您正在打開一個模態的視圖的視圖控制器:甚至解僱模態視圖後
appDelegate.buttonName = yourbutton.titleLabel.text;
現在,你將已經存儲在按鈕的標題appldelegate的對象,並且您可以從應用程序中的任何位置訪問它。
0
假設您將兩個viewcontrollers說一個 & 乙
你A.^ h
{
NSString *strData;
int cId;
}
@property (nonatomic, retain) NSString *strData;
@property (readwrite) int cId;
現在在你時三十分
@synthesize strData,cId;
你B.h
@class A
{
A *aObj;
}
現在在你B.m
#import "A.h"
- (void) viewDidLoad
{
aObj=[A alloc] init]; //alloc object of A
[aObj setCId:10]; //set value for cId
[aObj setStrData:@"Hello from B"]; //set value for strData
//do what ever
[aObj release]; //don't forget
}
相關問題
- 1. 將數據從BaseController傳遞到視圖
- 2. 將數據從塊傳遞到視圖
- 3. 將數據從部分視圖傳遞到其父視圖
- 4. 將數據從子視圖傳遞到父視圖 - iPhone
- 5. MVC將數據從視圖傳遞到視圖
- 6. 在MVC中將數據從視圖傳遞到局部視圖
- 7. 如何將數據從視圖傳遞到視圖模型
- 8. iOS - 將數據從父視圖多次傳遞到容器視圖的視圖
- 9. 將數據傳遞到容器視圖
- 10. CodeIgniter將數據傳遞到視圖
- 11. 將數據傳遞到局部視圖
- 12. 將數據傳遞到XML的視圖
- 13. 將數據傳遞到子視圖
- 14. 從mainView傳遞數據到子視圖
- 15. 將nsmutabledictionary中的數據從子視圖傳遞給父視圖
- 16. 如何將數據從Phonegap視圖傳遞給構架視圖
- 17. 將數組從一個視圖傳遞到另一個視圖
- 18. 從父視圖傳遞數據到容器視圖
- 19. MVC圖表 - 將數據從一個視圖傳遞到另一個視圖cshtml
- 20. 將圖像和數據從視圖傳遞到控制器
- 21. 試圖將模型數據從視圖傳遞到控制器
- 22. 從數據類將數據傳遞到一個視圖
- 23. 將值傳遞到視圖
- 24. 將數據從一個視圖傳遞到另一個視圖(Storyboard,iOS)
- 25. 將數據從一個路由視圖傳遞到另一個路由視圖
- 26. 將數據從app1中的視圖傳遞到django中的app2中的視圖
- 27. 如何將數據從分區表視圖傳遞到詳細視圖?
- 28. 如何在Angular 2中將數據從子視圖傳遞到主視圖?
- 29. 將數據從視圖控制器傳遞到另一個視圖控制器
- 30. 如何將數據從一個視圖傳遞到下一個視圖?
請把你的代碼,以便我們可以幫助你.. – nithin 2012-03-20 06:07:51