Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想知道将方法传递给未分配的实例是否存在风险?目前,我的代码似乎运行良好,没有任何警告。
UIView *testview; [testview someMethod];
据我观察,这不会引起任何问题,但想确保确实如此。
在 Objective-C 中传递消息nil不是错误,只是一个 NOP。但是,将消息传递到不正确的地址(例如未初始化或悬空指针)是错误的。根据您定义未初始化变量的上下文,它可能会被隐式初始化,nil或者您只是幸运地拥有这段nil 记忆。但是为了保证代码安全,您需要保证它要么是一个有效的对象,要么是nil指向一个有效的对象。执行此操作的简单方法是显式初始化它:UIView *testview = nil;.
nil
UIView *testview = nil;