在Obj-C中过度使用点运算符的替代方法是什么?

Ell*_*iot 4 oop design-patterns coding-style objective-c

看看你对这行代码的看法:

if ([pickerViewController.picker.bvc.currentResolve.name isEqualToString:message])
  ...
Run Code Online (Sandbox Code Playgroud)

你会认为这是过度使用点运算符吗?

如果没有,我可以保持原样.

但如果是这样,那么首选的替代方案是什么?

Chu*_*uck 10

这更像是Demeter违法定律,而不是点运算符的问题."更清洁"的方法是给对象提供逻辑来自己解决这个问题,所以你可以做类似的事情

if ([pickerViewController hasPickedName:message])
Run Code Online (Sandbox Code Playgroud)