从另一个班级获得价值?

时间:2015-10-01 22:29:41

标签: objective-c class

我试图获得一些想法,将IBAction生成的值集中到一个类中。

事实上: 类中有一个名为 TabBarController 的IBAction(类型为UiTabBarController,嵌入了导航控制器并通过StoryBoard生成),可以设置段的值。

问题是尝试将这些值存储在由 TabBarController 切换的另一个类的变量 VideoLIS 中。它的布尔值是因为它将被用作"开关"获取我必须启动的视频或文字。

TabBarController.h中的

#import <UIKit/UIKit.h>

  @interface TabBarController: UITabBarController
 {
     UISegmentedControl *segmentControl;
     @public
     BOOL *videoLIS;
  }

  @property (readwrite) BOOL *videoLIS;
  @property (nonatomic, retain) IBOutlet UISegmentedControl *segmentControl;
  @property (nonatomic) BOOL *checkSegmentedControlState;

  -(IBAction) segmentedControlChanged;
  -(BOOL) statoLIS;
  -(BOOL) checkSegmentedControlState;
 @end
TabBarController.m中的

 #import "TabBarController.h"

 @implementation TabBarController

 @synthesize segmentControl;
 @synthesize videoLIS;
 @synthesize checkSegmentedControlState;

 - (void)viewDidLoad {
     [super viewDidLoad];
     videoLIS=TRUE;
  }

 -IBAction **segmentedControlChanged**{
        switch (segmentControl.selectedSegmentIndex) {
            case 0:
               videoLIS=TRUE;
               NSLog(**videoLIS** ? @"LIS" : @"Testo");
               break;
            case 1:
               NSLog(@"TEXT Selected");
               videoLIS=FALSE;
               NSLog(**videoLIS** ? @"LIS" : @"Testo");
               break;
            default:
             break;
            }
 }

如何从另一个类(UIViewController)获取videoLIS的值?

我正在考虑使用NSNotification ......或者您有其他解决方案吗? 非常感谢你的帮助。

编辑: 我试过另一个解决方案我放弃了这种方式并将UISegmentControl移动到每个ViewControllers中,因此我将结果放在Class中,而不用担心这个问题。现在结果来了。

非常感谢您的提示。

0 个答案:

没有答案