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

Objective-C

Войти
Регистрация
Восстановить пароль
 
Pando
8 / 8 / 0
Регистрация: 14.02.2013
Сообщений: 80
#1

Property и synthesize - Objective-C

06.07.2016, 14:52. Просмотров 3426. Ответов 1
Метки нет (Все метки)

Доброго времени суток!

Недавно начал изучать Objective-C, и столкнулся с проблемой при решении задачи.

Вообщем сама проблема. Есть два файла StockHolding.h (заголовочный файл с прототипами методов класса) и StockHolding.m (реализация методов класса).

StockHolding.h
Objective-C
1
2
3
4
5
6
7
8
9
10
11
@interface StockHolding : NSObject {
    float purchaseSharePrice, currentSharePrice;
    int numberOfShares;
}
 
@property purchaseSharePrice, currentSharePrice, numberOfShares;
 
-(float)costInDollars; // purchaseSharePrice * numberOfShare
-(float)valueInDollars; // currentShareprice * numberOfShares
 
@end
StockHolding.m
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
@implementation StockHolding
 
@synthesize purchaseSharePrice, currentSharePrice, numberOfShares;
 
-(float)costInDollars {
    return purchaseSharePrice * (float)numberOfShares;
}
 
-(float)valueInDollars {
    return currentSharePrice * (float)numberOfShares;
}
 
@end
В строке
Objective-C
1
@property purchaseSharePrice, currentSharePrice, numberOfShares;
компилятор выдает ошибку "Type name requires a specifier or qualifier".
И в строке
Objective-C
1
@synthesize purchaseSharePrice, currentSharePrice, numberOfShares;
ошибка "Type of property 'purchaseSharePrice'('int') does not match type of instance variable 'purchaseSharePrice'('float')".

Как их исправить?

Добавлено через 14 минут
Нашел решение, в StockHolding.h нужно заменить
Objective-C
1
@property purchaseSharePrice, currentSharePrice, numberOfShares;
на
Objective-C
1
2
@property float purchaseSharePrice, currentSharePrice;
@property int numberOfShares;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2016, 14:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Property и synthesize (Objective-C):

@property,@synthesize в Objective-C - Objective-C
Может кто нибудь понятно объяснить, что на самом деле делает @property и зачем @synthesize. Читал wiki и другие сайты, но так и не...

@synthesize и переименование переменных - Objective-C
Разъясните, пожалуйста, какого х... почему постоянно делается так: @interface @property ( strong, nonatomic ) NSObject...

Разбираемся как работает @synthesize - Objective-C
первое правило использования ARC: забыть слово @synthesize Доступ к свойству осуществляется через self.indexFullData, а доступ к...

Property класса - Objective-C
Всем доброго дня! Я только начал изучать Objective C по этому прошу сильно не ругать, а как можно более подробно объяснить ответ на...

Outlet, @property - Objective-C
Добрый день, встал вопрос: почему при декларации оутлета добавляется только @property: @interface MainViewController :...

@interface и @property - Objective-C
Здравствуйте! Объясните пожалуйста, вот я накатал класс: @interface Good : NSObject { int c; } @property int a; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
06.07.2016, 16:48 #2
@synthesize является устаревшей директивой в контексте использования ARC

забудьте это слово пока.

Добавлено через 5 минут
Для объявления @property достаточно

Objective-C
1
2
3
4
@property (strong,nonatomic) NSObject * sobject;
@property (weak,nonatomic) NSObject * wobject;
 
@property (nonatomic) int intVariable;
для доступа к переменным

_sobject
_wobject
_intVariable

или


self.sobject
self.wobject
self.intVariable
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2016, 16:48
Привет! Вот еще темы с ответами:

@property (readonly) - Objective-C
Добрый вечер, Решил немного поизучать obj-c. Пока не очень привычно Вопрос такой: мутаторы assign, retain, copy влияют только на...

Великие и ужасные @property - Objective-C
Всем привет! Уже второй месяц изучаю разработку под iOS, но все откладывал этот вопрос на потом - т.к., мол, "пока и так работает,...

@property или ivar - Objective-C
Добрый день! Занимаюсь Objective C недавно, и, до сегодняшнего времени, не задавался вышеупомянутым вопросом. В учебниках и статьях...

Зачем нужно свойство @property (assign) - Objective-C
Для чего нужно свойство property (assign)? Как мне обратиться к полю класса, если оно под @property? Что будет, если убрать его? Я так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru