iphone:委托问题(我认为)

时间:2009-06-13 18:47:57

标签: iphone graphics delegates quartz-graphics

我从Apple的QUartzDemo项目中获取了一些东西,并尝试修改它。

我想创建一个带有按钮的屏幕,然后调用剩下的东西来制作该演示中的矩形。

我创建了一个处理初始视图的UIViewController。它上面有一个开始按钮。开始按钮代码为:

- (IBAction)startButtonAct:(id)sender
{
    QuartzViewController *controller;

    NSLog(@"1");
    controller = [[QuartzViewController alloc] initWithTitle:@"Name"];
    controller.quartzViewDelegate = [[[RectDrawing alloc] init] autorelease];
    [[self navigationController] pushViewController:controller animated:YES];

}

在使用“controller.quartzViewDelate”时,它会死掉:

-(id<QuartzViewDelegate>)quartzViewDelegate
{
    return quartzView.delegate;
}

错误:

-[QuartzView setDelegate:]: unrecognized selector sent to instance 0x5274a0

我猜这意味着来自startButtonAct的发送者ID对于quartzViewDelegate来说不是正确的 - 它需要一个非按钮的id。

但我完全停在这里了。经过几个小时的工作,我不知道如何完成这项工作。我可以发现的差异是QuartzDemo使用的是navigationController,而不是viewController,但在我的阅读中,似乎导航控制器基本上用于表,我没有。

好吧,我对这些东西很陌生,但是Objective C和iPhone编程,ObjC有时会让我适应,但我已经完成了这一点并且没有更多的想法。

请帮帮忙?

1 个答案:

答案 0 :(得分:0)

发现错误。有些代码在错误的地方......没有什么可以帮助其他任何人。