2016-04-27 2 views
-1

Я начинаю быстро. Я нашел объявление для массива в Свифт выглядит следующим образом:Array или Array <Element> in Swift

public struct Array<Element> : CollectionType, MutableCollectionType, _DestructorSafeContainer {} 

Однако расширение для массива выглядит следующим образом:

Extension Array: _Reflectable {} 

почему идентификатор отличается?

Array<Element> // what does the <Element> mean? is Array<Element> a complete identifier? 

Я пытаюсь понять «<>», спасибо!

+0

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Generics.html – jtbandes

+0

http://www.apeth.com/swiftBook/ch04.html#_generics – matt

ответ

0

При объявлении массива в swift вы можете сделать Array<Element>, где Element является типом. Итак, для массива строк вы можете сделать

var array: Array<String> = ["string", "someOtherString"] 

Однако это не очень быстрый способ создания массива. Быстрое создание массива строк будет

var swiftyArray: [String] = ["swiftyString", "someOtherSwiftyString"] 

Возможны оба способа.

print(array[0]) // prints: string 
print(swiftyArray[1]) // prints: someOtherSwiftyString 
+0

На самом деле Swifty путь более сжатый и зависит от вывода типа; 'var array = [" swiftyString "," someOtherSwiftyString "]' –

+1

Согласен. Однако, в контексте его вопроса, явное указание типа было актуальным. – rMickeyD