Цель C: Примитивные типы данных в классовых (статических) методах - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть собственный класс с примитивными типами данных в качестве свойств.Если я создаю экземпляр этого класса в статическом методе другого класса, примитивные переменные как-то не изменяются.

header

@interface CustomClass : NSObject {
double value;
}

@property (nonatomic) double value;

m file

@implementation CustomClass

-(id)init
{
    if ((self = [super init]))
    {
        self.value = 0;
    }
return self;
}

Создать и вернуть экземпляр этого класса в статическом методе:

+(CustomClass *)CalculateValue:(double)val{
     CustomClass *customClass = [[CustomClass alloc] init];
     customClass.value = val;

     //The value is not changing after set!!
     return [customClass autorelease];
}

Если я использую объект вместо примитивной переменной (например, NSNumber), эта проблема не возникает.

...