Hi Chris, Can you file a radar or JIRA for us on this? It looks like something should be fixed in the documentation at least, or perhaps in the bridging.
- Tony > On Nov 11, 2016, at 1:46 PM, Chris Anderson via swift-users > <swift-users@swift.org> wrote: > > I'm having problems with the type conversion between a Swift `Decimal` and an > Objective C `NSDecimalNumber`. > > If I have the Swift class: > > @objc class Exam: NSObject { > var grade: Decimal = 90.0 > } > > And try to use that Swift class in Objective C, > > Exam *exam = [[Exam alloc] init]; > NSDecimalNumber *result = [[NSDecimalNumber zero] > decimalNumberByAdding:grade.value]; > > I get the error: > > Sending 'NSDecimal' to parameter of incompatible type 'NSDecimalNumber * > _Nonnull' > > as it seems like `grade` is being treated as an `NSDecimal` not an > `NSDecimalNumber`. This seems incorrect as per > https://developer.apple.com/reference/foundation/nsdecimalnumber > <https://developer.apple.com/reference/foundation/nsdecimalnumber> it says > > "The Swift overlay to the Foundation framework provides the Decimal > structure, which bridges to the NSDecimalNumber class. The Decimal value type > offers the same functionality as the NSDecimalNumber reference type, and the > two can be used interchangeably in Swift code that interacts with Objective-C > APIs. This behavior is similar to how Swift bridges standard string, numeric, > and collection types to their corresponding Foundation classes." > > So I'm not sure if 1) I'm doing something wrong. 2) there's an error in the > documentation or 3) this is a Swift bug. Number 1 on that list is definitely > the most likely, but I wanted to see what I’m missing here. > > I don't want to explicitly make the values in my Swift class > `NSDecimalNumber` because then I cannot do simple arithmetic operations such > as `+` without doing the whole ugly `decimalNumberByAdding` dance. > > Thanks for the help! > > Best, > Chris Anderson > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users