关闭。这个问题是
opinion-based .它目前不接受答案。
Best Answer-推荐答案 strong>
嗯,一些想法。我认为这在很大程度上取决于您的 //做什么
。
如果这只是几种方法,我认为您所做的事情是完全可读的。而且我同意宏只会在阅读代码时增加困惑。
要记住的另一件事是,在 Objective-C 中,您可以安全地调用 nil 对象上的方法,所以也许不需要检查?或者你可以尝试一个空对象模式。通常用于防止空指针引用,这在此处不是问题,但如果 _anObject 在 aMethod1 和 aMethod2 中有意义,则可能有一个空白对象返回正确的内容。
另一个想法,如果你真的在你的所有函数之前检查 nil,也许你需要向上移动一个级别?在我看来,您有两个类(class)。用只为所有方法(或其他方法)返回 nil 的 NilObjectFoo 子类化 Foo 怎么样?然后在创建 Foo 时,检查您是否有一个 _myObject,如果没有,则创建一个 NilObjectFoo 。然后使用该对象的其余代码无关紧要,并且您不会用一堆 nil 检查来弄乱您的 Foo 对象。
也许一个更具体的例子会有所帮助?
关于iOS 最佳实践 - 在运行方法之前检查一些条件,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/21504208/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) |
Powered by Discuz! X3.4 |