UIView используется на iOS (Cocoa Touch), NSView на Mac (Cocoa). Хотя у них много общего, под капотом много различий. Например, UIView всегда поддерживается слоем CoreAnimation, в то время как NSView - только если вы явно вызываете setWantsLayer:YES
(и дополнительно можете предоставить свой собственный слой до этого). Для получения дополнительной информации обратитесь к ссылкам на классы для UIView и NSView .
NSView, на мой взгляд, более сложный и имеет больше возможностей благодаря своему наследию (первая версия NeXTStep была выпущена в 1988 году, поэтому оригинальный дизайн NSView был создан не позднее 1988 года). Некоторые функции не имеют смысла в iOS (например, перетаскивание и всплывающие подсказки). UIView был новым стартом (не позднее 2006 года) и позволил избежать некоторых проблем проектирования NSView (например, как упоминалось ранее, он всегда использует поддержку CoreAnimation вместо трех режимов, которые поддерживает NSView). Он имеет другой набор функций также потому, что он используется в другой среде (см. Поддержку мультитач; не имеет смысла в NSView).