0

我正在修改别人的代码并尝试使用 ViewController,但它目前是一个 NSObject。所以下面我添加了newDelegate

@interface myAppDelegate : NSObject <UITableviewDelegate, newDelegate>

在我的代码中,我尝试使用

[self presentModalViewController:newModalView animated:YES];

我得到的错误信息'myAppDelegate' may not respond to '-presentModalViewController:animated:'很公平,它是一个 NSObject。有人可以帮助我采取一种可能的方法吗?

4

1 回答 1

0

如果有人用NSObjectas a编写代码UIViewController,你就会遇到很多问题。“修改别人的代码”对我来说意味着“我是新供应商,因为老家伙对客户撒谎并说他们可以做 iPhone 开发工作,把它搞砸了”。也许回到客户那里说“我们需要从头开始重新开发,这是垃圾”?:)

至于手头的问题——应用程序代表是 NSObjects——所以这部分看起来是正确的。但是,应用程序委托通常不应该是UITableViewDelegate. 您将在应用程序委托中有一个 window 属性和一个 rootViewController 属性,最后调用appDidFinishLaunchingWithOptions:将实例化视图控制器并将其加载到窗口中。然后,该视图控制器将处理任何视图(在这种情况下可能是 UITableViewDelegate)。

presentModalViewController:代码内置于 UIViewController,因此您无法直接从应用程序委托中使用它。

于 2011-02-08T01:09:44.637 回答