LuckyLuke
LuckyLuke

Reputation: 49097

Naming conventions on IBAction functions

I am doing another iOS application and I wonder if there are any naming conventions or good practices on how to name actions that I could follow. I am thinking of names on the functions that are invoked when user e.g. touches a button.

Upvotes: 26

Views: 7469

Answers (4)

meaning-matters
meaning-matters

Reputation: 22956

Here is a discussion about how to name IBAction functions/methods.

Upvotes: 0

zaph
zaph

Reputation: 112855

Go with Apple's guidelines. What were in the past good suggestions have now been codified in ARC (Automatic Reference Counting) and are necessary to be followed for ARC to generate correct code. Using these guidelines may well future-proof your code, it did for ARC!

Apple's guidelines Coding Guidelines for Cocoa

From the method naming section:

Start the name with a lowercase letter and capitalize the first letter of embedded words. Don’t use prefixes.

There are two specific exceptions to these guidelines. You may begin a method name with a well-known acronym in uppercase (such as TIFF or PDF)), and you may use prefixes to group and identify private methods

For methods that represent actions an object takes, start the name with a verb.

- (void)invokeWithTarget:(id)target;
- (void)selectTabViewItem:(NSTabViewItem *)tabViewItem

Do not use “do” or “does” as part of the name because these auxiliary verbs rarely add meaning. Also, never use adverbs or adjectives before the verb.

If the method returns an attribute of the receiver, name the method after the attribute. The use of “get” is unnecessary, unless one or more values are returned indirectly.

- (NSSize)cellSize;

Use keywords before all arguments.

- (void)sendAction:(SEL)aSelector to:(id)anObject forAllCells:(BOOL)flag

Make the word before the argument describe the argument.

- (id)viewWithTag:(int)aTag;

Upvotes: 25

TeaCupApp
TeaCupApp

Reputation: 11452

I guess any method name in Objective - C should be readable like you reading an english sentence. Lets say below method.

[fileWrapper writeToFile: path atomically: YES updateFilenames: YES]; 
// This is not a real example but purpose of sharing is to make sure 
   method name is readable, so programmers can actually read code and can
   have SmallTalk.

When you read left to right it helps you to read and explains it self what it is going to do.

Check out this below link,

http://cocoadevcentral.com/articles/000082.php

Jump on page No. 5 of 7

There are lots of tips has been given. More tips can be found in Apple's developer library.

Happy Coding

Upvotes: 4

Andrew Little
Andrew Little

Reputation: 6626

I haven't come across much in the way of specifics when it comes to naming conventions for IBActions. However, if you were to follow the trend Apple seems to be setting in its sample apps, then some examples are as follows:

-(IBAction)cameraAction:(id)sender;
-(IBAction)done:(id)sender;
-(IBAction)takePhoto:(id)sender;

Hope this helps.

Upvotes: 5

Related Questions