如何使用Tab Bar Controller在视图控制器之间传输浮点值?

时间:2014-04-03 19:53:24

标签: ios xcode uitabbarcontroller getter-setter

我有一个原始标签,标签A,其中包含一个按钮以转到第二个ViewController(B)。在VC B中,选择一个数字并更改标签A中的标签以表示该数字(所有这些都完美无缺)。

我有一个创建新选项卡的方法,我需要知道如何从选项卡A和VC B中获取浮点值,以便在选项卡C(新选项卡)中将其识别为相同的值。任何帮助表示赞赏!

编辑:这是我制作新标签的方法

    -(void)makeNewTab: (NSString *)linkToSnipe {

NSMutableArray* tabs = [[NSMutableArray alloc] init];
[tabs addObjectsFromArray:self.tabBarController.viewControllers];
NewLinkViewController* newVC = [self.storyboard instantiateViewControllerWithIdentifier:@"Link"];
[tabs addObject: newVC];
UITabBarItem* item = [[UITabBarItem alloc] init];
NSString* itemTitle = [NSString stringWithFormat:@"Link # %lu", (unsigned long)[itemsAlreadyAddedToCart count]];
[item setTitle: itemTitle];
[item setImage:[UIImage imageNamed:@"shoe.png"]];
[newVC setTabBarItem:item];
[self.tabBarController setViewControllers: [NSArray arrayWithArray:tabs]];
int indexOfNewTab = [tabs count]-1;
[newVC setLinkToSnipe:linkToSnipe];
[newVC setSizeIWant: sizeChosen];
self.tabBarController.selectedIndex = indexOfNewTab;

}

setLinkToSnipe:linktosnipe工作正常,该字符串在新标签中被称为相同的东西。 setSizeIWant:sizeChosen不起作用。选择的大小是标签C中需要的浮点值

2 个答案:

答案 0 :(得分:0)

在没有看到你的代码的情况下,除了在标签A和标签B之间现在这样做之外,有点难以提出建议。当你创建标签C时,给它一个设置的属性通过任何创造它。

答案 1 :(得分:0)

你必须在标签C中有一个浮动值:

@property (nonatomic) float floatValue;

并通过在标签B和标签A:

的末尾添加以下内容来进行更改
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([segue.identifier isEqualToString:@"segue"]){
        ViewCont *vc = segue.destinationViewController;
        vc.floatValue = value;
    }

}