【问题标题】:Interaction between Subview and UIViewController with DelegatesSubview 和 UIViewController 与 Delegates 之间的交互
【发布时间】:2012-07-22 18:16:24
【问题描述】:

我阅读了很多文章以获取有关目标 c 中整个委托概念的一些信息。至少我认为我对此有大致的了解。但是我没有找到我的问题的答案 - 或者我只是找到了它但没有得到它......

在我的例子中,我有一个自定义子视图,我以编程方式在我的 UIViewController 上添加。我想与自定义 UIView 进行交互以调用控制器的某些方法。我认为最好有一个委托概念,而不是在 SubView 中引用我的 UIViewController,对吧? 我的问题是,难道不能用我的 UIScrollViewDelegate 做点什么吗?我的 UIViewController 正在实现一些委托方法,因为我的 SubView 是 UIScrollView。那么是否可以添加一个自定义方法,我可以使用如下方式调用:

[self.delegate myCustomMethodOnUIViewController]

或者最好的方法是什么?我应该设置一个协议并将其作为自定义委托添加到我的 UIViewController 吗?我必须在我的子视图上设置一个委托属性吗?

感谢您的帮助! 安迪

【问题讨论】:

    标签: objective-c ios delegates


    【解决方案1】:

    如果您将 UIView 作为子视图添加到 UIViewController,并且您希望在子视图中执行父视图中的某些方法,那么您的软件设计中可能会出现一些错误。

    如果有必要这样做,则使用@class 变量进行循环包含并调用您的方法。阅读有关@class 指令的更多信息。

    http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/Chapters/ocDefiningClasses.html

    更多插图可以在链接中阅读: @class vs. #import

    您可以使其与委托和协议一起使用,但请确保您在相同的上下文中正确处理内存以避免泄漏。

    【讨论】:

    • 为什么我的软件设计有错误。我的 UIViewController 上有一个子视图,我在其中选择了我的 UIViewController 应该知道的东西。我想把这些信息反馈给他,这不是控制器和视图交互的正常情况吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 2012-03-11
    • 2012-09-06
    • 2016-11-11
    • 2016-05-15
    • 2015-03-31
    相关资源
    最近更新 更多