Lehet-e különböző adattípusokat használni egy tömbön belül?
sobes.tech MI
Válasz az MI-től
Az iOS-ben, ha a Swift nyelvről beszélünk, a tömbök (Array) típusbiztosak és ugyanazon típusú elemeket tartalmaznak. Nem lehet közvetlenül olyan tömböt létrehozni, amely különböző típusú elemeket tartalmaz, például [Int, String, Double].
Azonban, ha különböző típusokat kell tárolni egy tömbben, használhatja az Any vagy AnyObject típust:
let mixedArray: [Any] = [42, "szöveg", 3.14, igaz]
Ebben az esetben a tömb különböző típusú elemeket tartalmaz, de azokkal való munka során típuskonverziókat kell végezni, ami csökkenti a biztonságot és a kényelmet.
Az Objective-C-ben a tömbök (NSArray) különböző osztályok objektumait tartalmazhatják, mivel objektumgyűjtemények, de primitív típusokat objektumokba (NSNumber, NSString stb.) kell csomagolni.
Így, Swift-ben a tömbök szigorúan típusosak, de az Any segítségével különböző típusokat lehet tárolni, bár ezt nem javasolt szükség nélkül.