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