繁体   English   中英

Xcode中可能的编译器错误?

[英]Possible compiler bug in Xcode?

情况如下:我创建了一个以UITextView作为其成员的自定义视图类。 发生某些事件后,我将textView作为第一响应者。

@inteface MyCustomView : UIView{
   UITextView* textView;
}

- (void) doSomething;

@end

在程序执行期间,我向MyCustomView的实例发送[doSomething]消息。

[myCustomViewInstance doSomething];

发生的事情非常有趣,该程序由于抱怨UITextView:doSomething是无法识别的选择器而崩溃。

为什么程序在UITextView(其成员变量)而不是MyCustomView的实例上调用doSomething。

这里可能有什么问题? (当然,这是我所做工作的规范版本,但我不明白在任何逻辑错误情况下,除非在编译器级别发生问题,否则可能是正确的)

您认为我应该进一步调查什么?

首先,Objective-C没有“成员”变量,它有实例变量。 小事; 但是术语确实很重要。

其次,发生崩溃是因为myCustomViewInstance指向UITextView的实例而不是您的子类。 这可能是因为您无意间进行了这样的分配,或者可能是因为您有一个过释放问题,并且碰巧该变量最终巧合地指向了错误的对象。

最后,尽管肯定存在编译器错误,但是这种简单的代码不太可能会揭露迄今为止未知的编译器错误。 您使用的编译器与用于编译OS的无数行代码的代码完全相同。 这样简单的错误很可能意味着没有应用程序可以运行,或者很有可能设备甚至无法启动。

假设上述代码行实际上是崩溃的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM