Ios 课堂交流
我有一个问题: 我有一个FirstViewController及其xib; 在这个xib中有一个视图,它的类是PaintingView(glpaint中的一个类,它不是视图控制器,而是用于视图) 然后在firstviewcontroller中,我导入了“PaintingView.h”,但如果调用PantingView的方法,它就不起作用 在firstViewcontroller中,在viewdidload中:Ios 课堂交流,ios,xcode,class,uiviewcontroller,Ios,Xcode,Class,Uiviewcontroller,我有一个问题: 我有一个FirstViewController及其xib; 在这个xib中有一个视图,它的类是PaintingView(glpaint中的一个类,它不是视图控制器,而是用于视图) 然后在firstviewcontroller中,我导入了“PaintingView.h”,但如果调用PantingView的方法,它就不起作用 在firstViewcontroller中,在viewdidload中: paintingView = [[PaintingView alloc]init];
paintingView = [[PaintingView alloc]init];
但在IBAction中,我会:
[paintingView method1];
(方法1在PaintingView中的位置),它不起作用,为什么???
谢谢所以:
在这个xib中有一个视图,它的类是PaintingView
如果它是UIView
子类,并且在您的Xib内部,那么我假设您正在使用iBOutlet实际访问它。但你会:
paintingView = [[PaintingView alloc]init];
我的问题是为什么?您已经在Xib中实例化了它 “它不起作用”只是没有提供足够的信息。您确定在调用方法时您的“paintingView”不是nil吗?是的,如果(paintingView==nil)NSLog(@“paintingView nil”);但这不会发生,但如果我不写paintingView=[[paintingView alloc]init];它是一样的…它不工作,你能编辑PaintingView类吗?如果是,您可以添加一个带有NSLog的新方法,看看是否调用了它。如果否,创建一个类别并测试是否调用了该方法。我在PaintingView-(void)erase中添加了一个方法,并在其中写入NSLog(@“erase”);所以在FirstViewController中,我创建了一个iAction,在里面我放入了[paintingView erase],但效果不好,然后我停止了我的工作(你知道不应该是这样的,对吧?)。现在,我可以在paintingView的方法中打印一个nslog,但它只执行它,而在方法中的其他指令则不运行