在视图控制器中,我将在服务器的响应对象中存储参数(token
& edriver_id
)。我可以将其存储在2个字符串中,例如fetchtokenString
和fetchedriveridString
...如下所示
NSLog(@"Response from server 1 : %@", [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]);
NSError *error;
NSArray *temp = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error];
// in this line we assingn the current value to global value
_tokenString = [[temp objectAtIndex:0] valueForKey:@"token"];
_edriveridString = [[temp objectAtIndex:0] valueForKey:@"edriverId"];
我需要知道,如何从app delegate访问那个2字符串(在视图控制器中)...我不知道这个,我不知道实现这个...请帮助我。
我希望从App委托访问这两个字符串...我怎么能这样做?
答案 0 :(得分:1)
这里有几步。首先,确保在头文件中定义了要在ViewController中访问的属性。
然后问题是你的观点是如何构建的。你是否使用导航控制器?如果是这样,在AppDelegate中,您可以像这样访问导航控制器:
UINavigationController *navController = (UINavigationController*)self.window.rootViewController;
然后使用该navController,您可以访问您的UIViewController。首先确保已导入该类以供使用:
#import "MyViewController.h"
然后您就可以访问您的视图控制器了:
MyViewController *myViewController = [navController.viewControllers objectAtIndex:0];
然后从该视图控制器访问您的属性。
答案 1 :(得分:0)
以下是选项:
答案 2 :(得分:-1)
苏拉杰,
为什么要将这些变量存储在您的类中,然后在app delegate中访问它,直到您可以直接在appDelegate中存储这些值?在你的类appdelegate访问appdelegate中创建两个公共变量tokenString和edriveridString,这应该不难,然后在appdelegate中直接使用它们:)
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.tokenString = [[temp objectAtIndex:0] valueForKey:@"token"];
appDelegate.edriveridString = [[temp objectAtIndex:0] valueForKey:@"edriverId"];
现在数据是appdelegate随时访问它:)现在所有人都可以访问奖金:) AppDelegate也是单身:)所以不用担心内存中多个变量实例:)
答案 3 :(得分:-1)
In [106]: df1
Out[106]:
a b m d
0 1 10 11 9
1 12 15 27 3
2 18 19 37 1
In [107]: df2
Out[107]:
a b m d
0 1 5 6 4
1 2 10 12 8
2 12 13 25 1
3 13 20 33 7
4 50 60 110 10
答案 4 :(得分:-1)
将这些字符串存储在AppDelegate中,并在应用程序的任何视图控制器中访问它们。
在AppDelegate.h中写下以下行
@property (strong, nonatomic) NSString *tokenString;
@property (strong, nonatomic) NSString * edriveridString;
将这些字符串存储在AppDelegate中,并在应用程序的任何视图控制器中访问它们。在AppDelegate.h中声明
@property(强,非原子)NSString tokenString; @property(强,非原子)NSString edriveridString;
并在这些变量中设置值:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.tokenString = [[temp objectAtIndex:0] valueForKey:@"token"];
appDelegate.edriveridString = [[temp objectAtIndex:0] valueForKey:@"edriverId"];