2015-05-28 3 views
0

Я читал документацию на яблоко, и я не мог найти ответ на эти вопросы.NSClasses vs Swift new classes

В новых переменных, которые мы создаем в Swift, следует использовать некоторые из старых NSClasses (например, NSDictionary) или использовать новые классы Swift (например, Dictionary).

Я стараюсь постоянно поддерживать классы Swift везде, где только могу, но есть ли разница между ними (в данном случае NSDictionary и Dictionary) Кто-нибудь нашел что-то об этой теме в документации на яблоко?

Это не дубликат «В чем разница между NSDictionary и Dictionary в Swift?»

Я знаю различия, и я знаю, что у кого-то есть класс NSObject root, а у другого есть корневой класс AnyObject. Реформируя мой вопрос, я хочу знать, как это влияет на меня как разработчика? Кто-нибудь сделал бенчмарк? Это медленнее? Планирует ли Apple планировать устаревание NSClasses в будущем? И я не ограничиваю это обсуждение NSDictionary, а целыми новыми переменными в swift, которые заменяют переменные pre existents в Object-C.

+1

Возможный дубликат [В чем разница между NSDictionary и Словарем в Swift?] (Http://stackoverflow.com/questions/25554259/what-is-difference-between-nsdictionary-vs-dictionary-in-swift) –

+3

AnyObject - это протокол, а не класс. – Amit89

+0

@ Amit89 поэтому строка не имеет корневого класса? – Icaro

ответ

2

Классы Swift обеспечивают безопасность типов, что означает, что вы принимаете меньше при работе с объектами внутри коллекций. Поэтому всегда лучше использовать варианты Swift, чем Objective-C, где это возможно.