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
,arg2Type
arg2Value
) { // 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 ...
Get Learning the iOS 4 SDK for JavaScript Programmers now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.