Безопасное литье в Objective C - PullRequest
8 голосов
/ 03 февраля 2010

Есть ли что-нибудь похожее на безопасное приведение C ++ в Objective-C?

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

Ответы [ 3 ]

10 голосов
/ 09 февраля 2010

Objective-c имеет безопасное приведение C ++.Кроме того, мы можем использовать отражение во время выполнения:

id myOb=[someObject getObject];
NSAssert([myOb isKindOfClass:[MyClass class]], @"Return value is not of type MyClass as expected.");
MyClass * newOb= (MyClass *)myOb;

Ссылки:

Какао с любовью :

0 голосов
/ 04 февраля 2010

Вы можете включить флаги компилятора, чтобы предупредить вас в подобных случаях. Эта конкретная ошибка будет обнаружена флагом -Wconversion.

0 голосов
/ 03 февраля 2010

Какая особенность C ++, по вашему мнению, поможет вам преобразовать 64-битный long в 32-битный int?

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