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

Свойства класса - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Как сделать принятие классом протокола только при определенных условиях? http://www.cyberforum.ru/objective-c/thread1273741.html
Доброго, всем, времени суток. В iOS 8 был "деприкейтед" UIAlertView. Вместо него теперь UIAlertController, которы не требует предварительного принятия протокола UIAlertViewDelegate. Но, чтобы...
Objective-C Загрузка файлов в iCloud Приветствую! Подскажите пожалуйста, как можно загрузить файл в облако на языке ObjC с айфона, так чтобы этот файл получить на другом устройстве(с того же аккаунта iCloud). У меня получилось... http://www.cyberforum.ru/objective-c/thread1271777.html
Получение уникального id девайса Objective-C
Добрый день. Насколько я знаю, получение imei на ios7 и выше невозможно. Есть ли какой то другой метод получить уникальный id устройства, и не отвергнет ли apple приложение, отсылающее этот id на...
Objective-C Нарисовать линию по клику кнопки
Как рисовать линию по клику кнопки? Код: NSBezierPath *p = ; ; ; ; ; работает только в методе инициализации приложения (тот что в AppDelegate), и то при изменении размера окна линия...
Objective-C Не выводится результат http://www.cyberforum.ru/objective-c/thread1268501.html
Здравствуйте! Только начал изучать язык(перешел с C++) и столкнулся с проблемой: в консоль не выводится сумма двух чисел #import <Foundation/Foundation.h> @interface Sum : NSObject
Objective-C UIPageViewController + скроллинг вьюконтроллера У меня имеется UIPageViewController, который объявляется вот так mainPVC = initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll ... подробнее

Показать сообщение отдельно
Igor Fender
1 / 1 / 0
Регистрация: 09.07.2014
Сообщений: 167

Свойства класса - Objective-C

12.10.2014, 13:22. Просмотров 1138. Ответов 6
Метки (Все метки)

Здравствуйте!
Пытаюсь разобраться со старым и новым способами записи свойств класса.
Нашел здесь ссылку Свойства и переменные , но не все понял.

Вот класс со свойством(Написал по аналогии с C++)

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@interface Person : NSObject {
    @protected
    NSInteger _a;
}
- (NSInteger) a;
- (void) setA:(NSInteger)a;
@end
 
@implementation Person
- (NSInteger) a {
    return self->_a;
}
 
- (void) setA:(NSInteger)a {
    self->_a = a;
}
@end
 
    Person *person = [[Person alloc] init];
    [person setA:5];
    NSLog(@"%d", (int)[person a]);

Как я понимаю, это аналогично записи

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@interface Person : NSObject {
    @protected
    NSInteger _a;
}
@property NSInteger a;
@end
 
@implementation Person
@synthesize a = _methodName;
@end
 
    Person *person = [[Person alloc] init];
    [person setA:5];
    NSLog(@"%d", (int)[person a]);
То есть @property определяет 2 метода, а @synthesize добавляет реализацию
Причем от того что я напишу вместо methodName, ничего не поменяется, для чего это??
Objective-C
1
@synthesize a = _methodName;
И не могу никак разобраться что произошло в новой версии, почему там не нужно обЪявлять переменную, а достаточно только прописать @propery?? Почему там не нужен @synthesize.
И по аналогии с C++, Нужны ли в objective-c @public, @private, @protected, если есть @property??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru