gpt4 book ai didi

macos - 如何开发一个应用程序来在 Cocoa 中绘制、编辑和保存 UML 模型?

转载 作者:行者123 更新时间:2023-12-03 16:50:02 24 4
gpt4 key购买 nike

各个 UML 图形状是 NSView 子类还是 NSBezierPaths?如何创建和管理图表?

最佳答案

实现此目的的一种方法是:

  • 创建基于文档的应用
  • 为最终用户能够在 Canvas 上绘制的不同对象设计模型类,所有对象共享一个抽象父类(super class)
  • 在您的CanvasView类中,实现drawRect并让它调用NSDocument子类,或者对于更细粒度的类,它是viewcontroller,以获取应该以正确的顺序绘制的所有对象来绘制它们。
  • 对于每个对象,从 CanvasView 的 drawRect: 实现中调用它们都已实现的 drawInteriorInView:rect: 方法或类似方法。

这种细粒度设计的优点是,如果您发现需要,可以决定用直接的 CoreGraphics 调用替换 NSBezierPath 绘图,而无需完全重新构建应用程序。

典型的 Cocoa 控件,例如 tableView,实现了一堆不同的绘图方法,一个用于背景,一个用于网格线,等等。所有这些都从 View 的 drawRect:.

或者您当然可以查看 GCDrawKit ,这似乎有一个相当实用的实现。特别是查看它附带的示例应用程序。

关于macos - 如何开发一个应用程序来在 Cocoa 中绘制、编辑和保存 UML 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/307653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com