我想知道将方法传递给未分配的实例是否存在任何风险?目前,我的代码似乎完全正常,没有任何警告。
UIView *testview;
[testview someMethod];
据我所知,这不会造成任何问题,但希望确保是这种情况。
答案 0 :(得分:6)
将消息传递给nil
不是Objective-C中的错误,只是一个NOP。但是,将消息传递给不正确的地址(例如未初始化或悬空指针), 是错误的。根据您定义未初始化变量的上下文,它可能是隐含初始化为nil
,或者您只是幸运,这次内存为nil
。但是为了保证代码安全,您需要保证它是nil
或指向有效对象。这样做的简单方法是明确初始化它:UIView *testview = nil;
。