Swift Map与CompactMap区别
Map与CompactMap区别
对于不同点,我们先说说相同点:
Map和FlatMap都可以用在Optionals和SequenceTypes上(如:数组、字典等)。
对于不同点:
先说说Swift4新加入的新特性compactMap;
flatMap会将transform函数的返回类型先拍扁,在组合成本身的复合类型,Swift标准库有3个 flatMap
Sequence.flatMap<S>(_: (Element) -> S)
-> [S.Element] where S : Sequence
Optional.flatMap<U>(_: (Wrapped) -> U?) -> U?
Sequence.flatMap<U>(_: (Element) -> U?) -> [U]