Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

@property,@synthesize в Objective-C - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Почему в категории нельзя добавлять поля instance method? http://www.cyberforum.ru/objective-c/thread1137017.html
Почему в категории нельзя добавлять поля instance method?
Objective-C Авторизация на сайте через приложение Добрый день! Подскажите, пожалуйста, как реализовать вход на сайт через приложение. Пробовал через NSURLRequest, но, я так понимаю, это не то, что нужно. PS нашел на просторах интернета этот код.... http://www.cyberforum.ru/objective-c/thread1134652.html
Взаимодействие вьюконтроллеров Objective-C
Здравствуйте, такой вопрос, допустим у меня есть FirstViewController и SecondViewController в первом есть кнопка, на втором лейбл. Как сделать так, чтобы при нажатии на кнопку на первом...
Переопределение метода только в iOS >= 7.0 Objective-C
Такое возможно ? К примеру у меня есть класс, в нем метод - (void)drawRect:(CGRect)rect { .... } В iOS < 7.0 он вообще не должен переопределяться. Я понимаю что нужно использовать...
Objective-C Использование сторонних шрифтов в Cocoa(Mac OS X) приложениях http://www.cyberforum.ru/objective-c/thread1131004.html
В общем столкнулся с проблемой(см заголовок). Везде пишут, что если мы хотим использовать сторонние шрифты в приложении, мы должны написать путь к папке/шрифту в Info файле по ключу...
Objective-C С чего начать? Доброго времени суток уважаемое сообщество программистов! Есть желание разрабатывать приложения под iOS. Какие книги(iOS,Objective-C) лучше взять на заметку? Какой инструментарий лучше всего... подробнее

Показать сообщение отдельно
men1n
Сообщений: n/a

@property,@synthesize в Objective-C - Objective-C

03.04.2014, 13:41. Просмотров 1733. Ответов 1
Метки (Все метки)

Может кто нибудь понятно объяснить, что на самом деле делает @property и зачем @synthesize.

Читал wiki и другие сайты, но так и не понял.
Почему это работает.
Objective-C
1
2
3
4
5
6
7
8
9
//  Counter.h
#import <Foundation/Foundation.h>
 
@interface Counter : NSObject
{
   //NSNumber *_value;
}
@property(nonatomic,copy)NSNumber* value;
@end
Objective-C
1
2
3
4
5
6
//  Counter.m
#import "Counter.h"
 
@implementation Counter
//@synthesize value=_value;
@end

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#import <Foundation/Foundation.h>
#import "Counter.h"
 
int main(int argc, const char * argv[])
{
 
    @autoreleasepool {
        Counter * obj = [[Counter alloc] init];
        [obj setValue:@1];
        NSLog(@"Hello, World! %@",[obj value]);
        
        
    }
    return 0;
}
@property создаёт геттеры и сеттеры.
С параметрами assign/copy/reatain, вроде бы понятно, но не понятно как правильно комбинировать их с atomic,nonatomic,readonly,readwrite.

Добавлено через 12 минут
ага т.е. @property создает переменную protectedв классе и генерирует ещё всякую всячину?
зачем тогда synthesize&

Добавлено через 30 минут
Увидел вот тут Переменная во всех методах
Цитата Сообщение от 97mik Посмотреть сообщение
Как объявить переменную чтобы ею можно было пользоваться во всех методах одного класса?
И ответ:
Цитата Сообщение от zulkis Посмотреть сообщение
Используйте property
И окончательно запутался.

Почему? Зачем?(из-за памяти, что ли?)
Objective-C
1
2
3
4
5
@interface Counter : NSObject
{
    NSNumber *sValue;
}
@end
sValue - будет же видна и так всем методам в @implementation данного класса. Или я что-то не понял?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru