Цель C: Общее, содержащее скаляр? - PullRequest
0 голосов
/ 05 июля 2018

Xcode, кажется, позволяет это:

@interface Foo<__covariant ObjectType> : NSObject
@property  (nonatomic,assign) ObjectType ooo;
@end

Однако выдает ошибку:

Foo<int> *arrg;

Как я могу создать класс, общий класс которого является скалярным? Мне это нужно.

1 Ответ

0 голосов
/ 05 июля 2018

int - это тип C, который нельзя напрямую представить ссылочными типами Objective-C.

Вдобавок ко всему, вы можете обойти это, используя NSNumber, который по сути является очень легкой оболочкой Objective C для числовых типов, таких как int или float.

Кроме того, вы можете использовать шаблоны C ++ и смешивать их с Objective-C. Я не знаю точно, как это работает и с какими ограничениями вы, вероятно, столкнетесь, но, поскольку Objective-C ++ - это вещь, я бы предположил, что это то, для чего он может быть использован.

И действительно, похоже, что может: это сообщение в блоге предоставляет введение в Objective-C ++. Оказывается, вы можете иметь C ++ ivars в ваших классах objc, например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...