Я вижу, что это довольно старый вопрос с принятым ответом, но у меня есть лучшее решение и его кодовое соглашение.
Соглашение гласит, что префиксные переменные ставятся перед подчеркиванием (_varName), а публичные (как свойства) - только именем.
При этом вы можете просто вызывать одно и то же имя переменной в своих функциях.
Пример:
ExampleClass.h
@interface ExampleClass : NSObject
{
NSString *_varName; //this is not required if you create a property
}
@property (nonatomic, retain) NSString *varName;
- (void)someMethodWithVarName:(NSString *)varName;
@end
ExampleClass.m
#import "ExampleClass.h"
@implementation ExampleClass
@synthesize varName = _varName; //if you don't declare the _varName in the header file, Objective-C does it for you.
- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
}
return self;
}
- (void)someMethodWithVarName:(NSString *)varName
{
_varName = varName; //just for example purpose
}
@end