Есть ли способ сопоставить объекты с примитивами? - PullRequest
0 голосов
/ 21 января 2011

Это может быть гипотетический вопрос, я не уверен.

Исходя из фона C #, я всегда пропускал объектно-ориентированные примитивы в Objective-C.Вместо этого вы должны бесконечно конвертировать из BOOL и int в NSNumber и обратно, создавая громоздкий и потенциально ошибочный код.

Технически возможно ли глобально отобразить все примитивные типы значений, такие как int, BOOL, float и т. Д., На их объектно-ориентированные элементы, например NSNumber?

Ответы [ 2 ]

1 голос
/ 21 января 2011

Технически возможно? Конечно. Полностью.

См. CF*Dictionary и / или NSMapTable. Оба позволяют сопоставления между экземплярами Objective-C и примитивными и / или не-Objective-C типами.

Вам, очевидно, придется написать некоторый код, чтобы выполнить поиск по мере необходимости (или изменить компилятор, чтобы сделать это за вас. В целом, вероятно, не стоит делать это, поскольку он будет сложным и предложит больше движущихся частей потерпеть неудачу.

0 голосов
/ 21 января 2011

Я так не думаю и не думаю, что это принесет вам большую пользу.Лучше всего просто плыть по течению.Если вы не игнорируете предупреждения компилятора, это редко приводит к ошибочному коду.

...