2012-12-03 48 views
3

我使用Safari瀏覽網頁。點擊此頁面上的按鈕後,我的iPad會啓動我的應用程序。因此,我在AppDelegate.m中實施了方法- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url如何將數據從AppDelegate傳遞給ViewController?

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{ 
    if (!url) { return NO; } 
    NSString *URLString = [url absoluteString]; 
    self.paramArray = [URLString componentsSeparatedByString:@"@"]; 
    NSLog(@"%d",[self.paramArray count]); 
    for (int i = 1; i < [self.paramArray count]; i++) { 
     NSLog([self.paramArray objectAtIndex:i]); 
    } 
    return YES; 
} 

我在網頁上使用的網址有點像myapp://@[email protected][email protected]_partself.paramArray存儲url的子字符串(myapp://first_partsecond_partthird_part)。

現在我想在我的ViewController的textfields中顯示這些字符串。我怎樣才能通過這個NSArray到ViewController

回答

7

這只是幾行代碼,需要完成它。

將這個行appDelegate.h文件

所有你需要遵循的協議首先是遵循

@interface AppDelegate : UIResponder <UIApplicationDelegate> 

現在需要聲明一個屬性爲它使用如下

@property (strong, nonatomic) id<UIApplicationDelegate>delagete; 

現在使用視圖控制器中屬性的最後階段如下:

在視圖 - 控制
首先把參考的.h文件的appdelegate像.m文件本#import "AppDelegate.h"
後來有伊瓦爾如AppDelegate *appDel;@interface

現在
appDel = [[UIApplication sharedApplication]delegate];鑑於沒有負荷的方法和訪問的appdelegate的所有物業像appDel.paramArray那裏。

快樂編碼:)

+0

可以給我更多詳細資料嗎?像我應該在哪裏添加這些行? – Manted

+0

這樣可以嗎?或需要更多信息? :) –

+0

我做了你告訴我的。但我的'viewDidLoad'方法中的'[appDel.paramArray count]'返回'0'。何時會調用' - (BOOL)應用程序:(UIApplication *)application handleOpenURL:(NSURL *)url'? – Manted

相關問題