Functions
In Chapter 6 you
were introduced to Objective-C methods and how they differed from
JavaScript functions. Now I get to blow your mind by showing you C
functions, which look and work a lot like JavaScript functions—except for
the mandatory return type and data typing of parameter variables. As with
an Objective-C method, a C function is not obligated to return a value,
but its definition should specify a return type (not in parentheses), even
if it is void.
Arguments, if any, are grouped within parentheses and comma-separated (just like JavaScript) and must also specify data types. Prototypes for three styles follow:
voidfunctionName() { // statements ... } voidfunctionName(arg1Type arg1Value) { // statements ... }returnType functionName(arg1Type arg1Value,arg2Typearg2Value) { // statements ... returnreturnValue; }
It wouldn’t surprise me if a lot of newcomers to iOS programming come to this discussion and throw their hands up in the air, wondering why there simply can’t be one C or Objective-C style of function/method and be done with it.
You can take comfort in knowing that you will rarely need to generate your own C-style functions. You’ll be creating most of your custom action code in the form of Objective-C methods. Your need to know about C functions is predominantly to know how to use those parts of the Cocoa Touch frameworks that have not been modernized to Objective-C (and may never be). You will encounter C constructions in several places within the iOS SDK documentation—notably ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access