Я пытаюсь немного нарушить законы цели C, имея статические (на уровне класса) переменные, которые имеют сеттеры и геттеры:
+(CGRect*)defaultOpFr:(CGRect*)set{
static CGRect * defaultOpFr = nil;
if (set) {
if (!defaultOpFr) {
defaultOpFr = malloc(sizeof(defaultOpFr));
}
defaultOpFr->size.width = set->size.width;
defaultOpFr->size.height = set->size.height;
defaultOpFr->origin.x = set->origin.x;
defaultOpFr->origin.y = set->origin.y;
}
return defaultOpFr;
}
Кажется, это работает, но мне интересно, есть ли лучший способ. Идея состоит в том, чтобы вызвать его с помощью nil, чтобы получить значение, вызвать его с помощью CGRect, чтобы установить новое значение.