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:  | ||
NS_OBJC_TRY_IGNORE  | * <code>NS_OBJC_TRY_IGNORE</code>  | ||
NS_OBJC_TRY_ABORT  | * <code>NS_OBJC_TRY_ABORT</code>  | ||
NS_OBJC_TRY_EXPR_NULL  | * <code>NS_OBJC_TRY_EXPR_NULL</code>  | ||
NS_OBJC_TRY_EXPR_ABORT  | * <code>NS_OBJC_TRY_EXPR_ABORT</code>  | ||
The ones that contain EXPR are for expressions - for example:  | The ones that contain EXPR are for expressions - for example:  | ||
foo = NS_OBJC_TRY_EXPR_ABORT([bar doSomething]);  | <code>foo = NS_OBJC_TRY_EXPR_ABORT([bar doSomething]);</code>  | ||
They wrap an expression that returns a value. The other macros don't. They'd be for something like this:  | They wrap an expression that returns a value. The other macros don't. They'd be for something like this:  | ||