【发布时间】:2012-07-05 15:39:14
【问题描述】:
@interface RecentPhotosViewController () <PhotoViewControllerDelegate>
- (void)viewDidLoad
{
[super viewDidLoad];
[[self.tabBarController.viewControllers objectAtIndex:1] setDelegate:self];
}
RecentPhotosViewController 是一个实现委托的 tableviewcontroller。
我想在 vieDidLoad() 中将 self(RecentPhotosViewController) 设置为委托,但是当我尝试键入:self.setDelegate 时发现 self 没有这个 setDelegate 方法,然后我尝试了这个:[[self. tabBarController.viewControllers objectAtIndex:1] setDelegate:self];(这个tableview是tabBarControllers的viewcontrollers之一。
然后我得到一个错误:[RecentPhotosViewController setDelegate:]: unrecognized selector sent to instance 0xc939960.我不知道如何解决这个问题。
【问题讨论】:
-
试过
parentViewController? -
刚试过parentViewController,还是调用不了setDelegate方法。为什么?视图控制器不能调用 setDelegate 方法吗?很奇怪,我看到你可以在 prepareforsegue 中调用它:segue.destinationViewController setDelegate。
-
但是你想自己作为代表的对象是什么类?
-
RecentPhotosViewController 就是一个 talbeviewcontroller。
-
但是你想设置self.delegate = self?
标签: iphone objective-c xcode delegates cs193p