2

我正在使用 Safari 浏览网页。单击此页面上的按钮后,我的 Ipad 将启动我的应用程序。所以我- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)urlAppDelegate.m.

- (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;
}

我在网页上使用的 url 类似于myapp://@first_part@second_part@third_part. self.paramArray存储 url ( myapp:// first_part second_part third_part) 的子字符串。

现在我想在我的ViewController. 如何将此 NSArray 传递给ViewController

4

1 回答 1

7

这只是完成它所需的几行代码。

将此行放入 appDelegate.h 文件中

首先,您需要遵守以下协议

@interface AppDelegate : UIResponder <UIApplicationDelegate>

现在需要声明一个属性供它使用,如下所示

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

现在在视图控制器中使用该属性的最后一个也是最后一个阶段如下

在 viewcontroller 的 .h 文件中首先
像这样引用 appdelegate#import "AppDelegate.h"
然后一个 iVarAppDelegate *appDel;@interface

现在在 .m 文件中
放入appDel = [[UIApplication sharedApplication]delegate];视图确实加载方法并访问 appdelegate 的所有属性,如appDel.paramArray.

快乐编码:)

于 2012-12-03T05:28:57.893 回答