Ios 如何将数据从AppDelegate传递到ViewController?
我正在使用Safari浏览网页。点击此页面上的按钮后,我的Ipad将启动我的应用程序。因此,我在Ios 如何将数据从AppDelegate传递到ViewController?,ios,uiviewcontroller,appdelegate,Ios,Uiviewcontroller,Appdelegate,我正在使用Safari浏览网页。点击此页面上的按钮后,我的Ipad将启动我的应用程序。因此,我在AppDelegate.m中实现了方法-(BOOL)application:(UIApplication*)application handleopeanurl:(NSURL*)url - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{ if (!url) { return NO; }
AppDelegate.m
中实现了方法-(BOOL)application:(UIApplication*)application handleopeanurl:(NSURL*)url
- (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;
}
-(BOOL)应用程序:(UIApplication*)应用程序handleOpenURL:(NSURL*)url{
如果(!url){返回NO;}
NSString*URLString=[url绝对字符串];
self.paramArray=[URLString componentsSeparatedByString:@“@”];
NSLog(@“%d”,[self.paramArray count]);
对于(int i=1;i<[self.paramArray count];i++){
NSLog([self.paramArray objectAtIndex:i]);
}
返回YES;
}
我在网页上使用的url类似于myapp://@first_part@second_part@第三部分
self.paramary
存储url的子字符串(myapp://
first\u part
second\u part
第三部分
)
现在我想在我的
ViewController
的文本字段中显示这些字符串。如何将此NSArray传递给ViewController
?这只是完成此任务所需的几行代码
将此行放入appDelegate.h文件中
首先,您需要遵守以下协议
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@接口AppDelegate:UIResponder
现在需要声明一个属性以供其使用,如下所示
@property (strong, nonatomic) id<UIApplicationDelegate>delagete;
@property(强,非原子)iddelagete;
现在,在视图控制器中使用属性的最后一个也是最后一个阶段如下
@property (strong, nonatomic) id<UIApplicationDelegate>delagete;
在viewcontroller的.h文件中首先像这样引用appdelegate
#导入“appdelegate.h”
然后一个iVar为
AppDelegate*appDel@界面中的code>
现在在.m文件中
putappDel=[[UIApplication sharedApplication]委托]视图中的code>加载了方法并访问了appdelegate的all属性,如appDel.paramArray
快乐编码:)你能给我更多的细节吗?比如,我应该在哪里添加这些行?这样可以吗?或者需要更多信息吗?:)我照你说的做了。但是我的viewDidLoad
方法中的[appDel.paramary count]
返回0
。什么时候调用-(BOOL)应用程序:(UIApplication*)应用程序handleOpenURL:(NSURL*)url
?paramArray是否是一个属性,在appDelegate.h文件中声明了(强,非原子)属性?在加载视图并处于显示状态(即在ViewDidAppe中)后,它将适合于此,我认为:)