For reasons, I'm still using Xcode 7 and Swift 2.2 Apple Swift version 2.2 (swiftlang-703.0.18.8 clang-703.0.31)
Doug Hill > On Jan 25, 2017, at 5:13 PM, Zhao Xin <owe...@gmail.com> wrote: > > Can you check the version of you Swift? Your code works in Xcode 8.2.1 > (8C1002), Swift 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1) > > Zhaoxin > > On Thu, Jan 26, 2017 at 2:49 AM, Doug Hill <swiftus...@breaqz.com > <mailto:swiftus...@breaqz.com>> wrote: > OK, I just tried testing this code in my app and a Swift playground. I also > tried a variation on the initializer just for the heck of it. I get the > following error: > > class Test<T> > { > var array:[T] = [] > var array2 = [T]() > > init() { > var temp = self.array as NSArray > var temp2 = self.array2 as NSArray > } > } > > error: cannot convert value of type '[T]' to type 'NSArray' in coercion > var temp = self.array as NSArray > ~~~~~^ > error: cannot convert value of type '[T]' to type 'NSArray' in coercion > var temp2 = self.array2 as NSArray > ~~~~~^ > > Are there restrictions on what can be converted to NSArray? > > Doug Hill > >> On Jan 25, 2017, at 9:24 AM, Doug Hill via swift-users >> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote: >> >> Thanks for the help. I'm still trying to figure out how Swift works, >> particularly what the error messages mean. This has been driving me a little >> nuts trying to figure out what is wrong via sometimes cryptic errors. Also, >> it seems like getting generic programming working in Swift is more difficult >> than I'm used to (even than C++!) so this answer helps figure out how the >> compiler works. >> >> Doug Hill >> >> >>> On Jan 23, 2017, at 7:04 PM, Zhao Xin <owe...@gmail.com >>> <mailto:owe...@gmail.com>> wrote: >>> >>> It seems to me that you didn't initialize your `myArray` before you casted >>> it. That caused the problem. >>> >>> Zhaoxin >>> >>> On Tue, Jan 24, 2017 at 9:34 AM, Jon Shier via swift-users >>> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote: >>> enumerateObjects(options:using:) exists on NSArray in Swift. And I was able >>> to create your generic class just fine: >>> >>> class Test<T> { >>> var array: [T] = [] >>> >>> init() { >>> var temp = array as NSArray >>> } >>> } >>> > >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users