问题
What's the difference between UIColor and NSColor, and when would one use each? I came across NSColor while trying to figure out UIColor uses for attributed strings in iOS. I understand the use of UIColor for the UIKit and such, but I don't think NSColor is really useful for this kind of thing. Has NSColor fallen into disuse with regards to iOS programming?
回答1:
There is no such thing as NSColor in iOS. UIColor is what you should use.
NSColor only exists as a OSX class.
回答2:
As Nate says, NSColor is OSX only. If you ran across a mention of it in the docs on NSAttributedString, it's probably documentation intended for Mac OS. Some of the docs do "bleed over" between platforms.
If you search the Xcode docs for NSAttributedString(NSStringDrawing) you'll see some UIKit additions to NSAttributedString that let you specify colors using UIColors.
It looks like the equivalent OS X application kit extensions are called NSAttributedString(NSAttributedStringKitAdditions). Gotta love the consistent naming conventions, huh?
回答3:
NSColor is from AppKit and UIColor is from UIKit. UIKit was built from the ground up for iOS and AppKit came over from NeXT. As AppKit is a Mac only framework you cannot use NSColor in an iOS app.
来源:https://stackoverflow.com/questions/23924025/ios-use-of-nscolor-versus-uicolor