传递要在IF周期中评估的标量参数

Ear*_*rey -1 cocoa-touch objective-c ios5

在我的一个方法中,我需要提供UIEdgeInsets类型的可选参数.该方法的实现包含一个IF条件,该条件应该测试是否提供了一些insets.我应该如何测试IF条件,是否提供了插入?

Sul*_*han 5

UIEdgeInsets是一个struct,而不是一个对象指针.这意味着它永远不会nil.当调用者没有通过它们时,不会出现这种情况.如果他不想使用插图,他总能通过UIEdgeInsetsZero.

如果你想要一个没有传递insets的方法,只需创建一个没有该参数的第二个方法.

  • @EarlGrey有必要检查一下吗?难道你不能像使用真实值一样使用零吗?无论如何,结构不能通过==进行比较,你必须比较它们的组件.或者使用函数`UIEdgeInsetsEqualToEdgeInsets(insets,UIEdgeInsetsZero)` (3认同)