Confirmed users, Bureaucrats and Sysops emeriti
1,680
edits
No edit summary |
No edit summary |
||
| Line 19: | Line 19: | ||
When wrapping calls in a method, the first choice you'll have to make is whether to wrap specific calls or the whole method impl. Which one you pick is usually a matter of cleanliness. If there is a big method with a single Apple framework call in it, you might just want to wrap that specific call. Your choice of macros are these: | When wrapping calls in a method, the first choice you'll have to make is whether to wrap specific calls or the whole method impl. Which one you pick is usually a matter of cleanliness. If there is a big method with a single Apple framework call in it, you might just want to wrap that specific call. Your choice of macros are these: | ||
* For wrapping calls that are not expressions, do not return values (we care about) | * For wrapping calls that are not expressions, do not return values (at least not ones we care about) | ||
** <code>NS_OBJC_TRY_IGNORE</code> | ** <code>NS_OBJC_TRY_IGNORE</code> | ||
** <code>NS_OBJC_TRY_ABORT</code> | ** <code>NS_OBJC_TRY_ABORT</code> | ||
* For wrapping expressions that return a value | * For wrapping expressions that return a value | ||
| Line 31: | Line 27: | ||
** <code>NS_OBJC_TRY_EXPR_ABORT</code> | ** <code>NS_OBJC_TRY_EXPR_ABORT</code> | ||
An example of EXPR usage | An example of non-EXPR macro usage: | ||
<code>NS_OBJC_TRY_ABORT([bar doSomething]);</code> | |||
An example of EXPR macro usage: | |||
<code>foo = NS_OBJC_TRY_EXPR_ABORT([bar doSomething]);</code> | <code>foo = NS_OBJC_TRY_EXPR_ABORT([bar doSomething]);</code> | ||