NSObject 模态视图和委托
Posted
技术标签:
【中文标题】NSObject 模态视图和委托【英文标题】:NSObject ModalView and Delegate 【发布时间】:2011-02-07 23:48:56 【问题描述】:我正在修改其他人的代码并尝试使用 ViewController,但它目前是一个 NSObject。所以下面我加了newDelegate
@interface myAppDelegate : NSObject <UITableviewDelegate, newDelegate>
在我的代码中,我尝试使用
调出模态视图[self presentModalViewController:newModalView animated:YES];
我收到错误消息'myAppDelegate' may not respond to '-presentModalViewController:animated:'
,这很公平,它是一个 NSObject。有人可以帮助我采取一种可能的方法吗?
【问题讨论】:
【参考方案1】:如果有人用NSObject
作为UIViewController
编写代码,你就会遇到很多问题。 “修改别人的代码”对我来说意味着“我是新供应商,因为老家伙对客户撒谎并说他们可以做 iPhone 开发工作,把它搞砸了”。也许回到客户那里说“我们需要从头开始重新开发,这是垃圾”? :)
至于手头的问题 - 应用程序委托是 NSObjects - 所以这部分看起来是正确的。但是,应用程序委托通常不应是 UITableViewDelegate
。您将在应用程序委托中有一个 window 属性和一个 rootViewController 属性,最后调用 appDidFinishLaunchingWithOptions:
将实例化视图控制器并将其加载到窗口中。然后,该视图控制器将处理任何视图(在这种情况下可能是 UITableViewDelegate)。
presentModalViewController:
代码内置在 UIViewController 中,因此您无法直接从应用委托中使用它。
【讨论】:
以上是关于NSObject 模态视图和委托的主要内容,如果未能解决你的问题,请参考以下文章
通过 UIWindow 从继承自 NSObject 的类以模态方式在整个应用程序顶部显示 UIWebView?