我在dashBoardViewController.m
中有这个方法 - (void)demoSetup
{
self.tabBar.tintColor = [UIColor colorWithRed:(160/255.0) green:(97/255.0) blue:(5/255.0) alpha:1]; // set the tab bar tint color to something cool.
self.delegate = self; // Just to demo that delegate methods are being called.
}
#pragma UITabBarController Delegate
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
NSLog(@"UITabBarDelegate: shouldSelectViewController...");
return YES;
}
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
NSLog(@"UITabBarDelegate: didSelectViewController...");
}
- (void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray *)viewControllers
{
NSLog(@"UITabBarDelegate: willBeginCustomizingViewControllers...");
}
- (void)tabBarController:(UITabBarController *)tabBarController willEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed
{
NSLog(@"UITabBarDelegate: willEndCustomizingViewControllers...");
}
- (void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed
{
NSLog(@"UITabBarDelegate: didEndCustomizingViewControllers...");
}
我有4个链接,并有Facebook登录视图 我需要从包含Facebook登录2数据(FBID,FBUSER)的视图传递到我的dashBoardViewController,并从它传递相同的数据到我的所有选项卡,是否可能?
这是dashBoardViewController.h
#import <UIKit/UIKit.h>
#import <FacebookSDK/FacebookSDK.h>
#import "BFPaperTabBarController.h"
@interface dashBoardViewController : BFPaperTabBarController <UITabBarControllerDelegate,FBLoginViewDelegate>
@property (weak, nonatomic) IBOutlet FBLoginView *loginButton;
@property (retain, nonatomic) NSString *id;
@property (retain, nonatomic) NSString *first_name;
@end
答案 0 :(得分:0)
在所需的viewcontroller类中创建FBID,FBUSER属性。然后编写一个方法在视图控制器类中创建视图控制器的共享实例
+ (instancetype)sharedInstance {
static MyViewController *instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[self alloc] init];
});
return instance;
}
此方法将返回MyViewController类的共享实例。这是一个静态对象。
MyViewController *myViewController = [MyViewController sharedInstance];
将您的属性设置为myViewController.fbid = yourvalue或myViewController.first_name = yourvalue
您必须在所有视图控制器中实现此共享实例方法。这样您就可以创建静态对象并将非静态属性设置为静态
答案 1 :(得分:0)
这是我对视图控制器设置的理解。 ----- FaceBook登录VC | - &GT; TabBarController - | ----- VC1 | | ------ VC2 | ------ VC3
如果图表看起来正确并且您尝试在FaceBookLogin和VC -1,V-2和VC -3之间传递数据。
您可以通过创建TabBar Controller的子类来完成此操作。在您的子类中,为FBID和FBUSER声明两个属性。 如果使用成功登录使用&#34; FaceBook登录&#34;页面,然后在自定义tabBar控制器中设置这些属性。
您现在可以从任何属于Tabbar控制器的VC访问这些属性。
如果您需要查看某些代码或需要更详细的说明,请与我们联系。