gpt4 book ai didi

iphone - 将 int 类型的变量传递给parentViewController [iOS]

转载 作者:行者123 更新时间:2023-11-29 04:13:47 24 4
gpt4 key购买 nike

我正在构建一个使用 Jeremy Fox 的 JFDepthView 库的 iPad 应用程序。对于那些不熟悉的人来说,它基本上允许新的 View Controller 位于前面和中心,将父 View 发送到背景并对其应用模糊算法,以将用户焦点带到所呈现的顶 View 上。这一切都很完美,但我在设置 int 的值并将其从呈现的 topView 传递回 parentViewController 时遇到问题。

我有 TTViewController 它是原始 View Controller 。在此 View 上点击一个按钮,JFDepthView 就会启动,并在 TTViewController 之上呈现一个名为 IndustryViewController 的新 View 。当点击 IndustryViewController 上的按钮时,我希望关闭该 View ,并根据传递的 int 在父 TTViewController 上发生特定操作按下按钮时我设置的值。

我已经在原始(父)viewController 中为我的 int 创建了一个属性。

@interface TTViewController : UIViewController <JFDepthViewDelegate> {

}

@property (nonatomic, assign) int defence;

@end

在我的 subview Controller (JFDepthView 顶部呈现的 Controller )中,我试图访问父 View 并设置变量的值,然后关闭 View 。

@implementation IndustryViewController

- (IBAction)defenceBtnPressed:(id)sender
{
TTViewController *viewController = (TTViewController *)self.parentViewController;
viewController.defence = 1;
[self.depthViewReference dismissPresentedViewInView:self.presentedInView animated:YES];
}

我没有收到任何错误或警告,一切都构建良好。但 int 'defence' 的值始终为 0。我显然做错了什么并且对parentViewController 设置缺乏了解。任何人都可以填补空白或为我指出正确的方向吗?

编辑:似乎如果我注销parentViewControllerpresentingViewController,它们都是NULL。我还在设置防御变量后立即将其注销,但它实际上从未设置为“1”。

最佳答案

检查self.parentViewController是否为nil。我猜想 JFDepthView 不会自动为您设置 parentViewController

如果 self.depthViewReference 是父 View Controller (即您调用 presentViewController:xxx inView:self.view 来呈现当前 VC 的 View Controller ),那么simple 将其转换为所需的类 TTViewController 并在其上设置 defence = 1

关于iphone - 将 int 类型的变量传递给parentViewController [iOS],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13998412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com