项目6.7 –笔记薄弱的一周

沉默接管了项目6。6.3和6.4是周末在电脑上度过的时间,由于缺乏进度,6.5和6.6被迫放弃了说话。 将我们最终安静地带到6.7-6周计划的一个星期。

我一直在研究可可,NS前缀和苹果不太喜欢的开发套件的来龙去脉。 我的意思是没有冒犯,Mac应用程序可以很漂亮而且令人惊叹,只需询问Panic,但是您只能看到很多次

不会因CocoaTouch的普遍存在而感到孤独。

凭借多年的Apple开发人员经验,我觉得自己的工作效率只有一半。 每个Autolayout错误,以及解决了您从2002年以来的问题的方法的文章都不再起作用,并且坐标系的完全怪异意味着调试和测试比运送要花费更多的时间。

一个例子就是希望在NSTextView中找到光标的位置。 经过大量的UITextView答案,我找到了可能的解决方案。

  textView.firstRect(forCharacterRange:,actualRange:) 

这是为了给我当前选定范围内光标位置的NsRect。 只要您喜欢绝对的屏幕坐标,一切都会很好,但是对我来说完全没用。 该兔子洞进展为尝试使用以下命令将窗口坐标映射到文本视图的原点

[textView convertRect:rect fromView:textView.textInputView] 

但是由于某种原因,textView的原点返回0,0,并且每个Stack Overflow都带来了比以前更多的问题。

最后,我浏览了足够多的NSContainers和NSLayoutManager文档,以偶然发现圣杯

 让cursorPoint = textView.layoutManager?.boundingRect(forGlyphRange:textView.selectedRange(),在:textView.textContainer!) 

最后,我兴高采烈地出现了,只花了一个小时就在光标位置插入了一个子视图。 (#ForFutureGoogle在NSTextView中找到光标/插入符号的局部坐标)。

然后,此模式进行多次自我复制,分为多个Objective-C至Swift复制粘贴重构以及Swift 2至Swift 3弃用路径。 我喜欢Swift作为一种语言,在搜索iOS解决方案时并没有这么大的问题,所以我的猜测是iOS内容更新速度更快并且紧贴前沿,或者iOS内容庞大而过时搜索。

就是说,总共大约20个小时之后,我已经成功地使用本地数据库,一个很酷的Medium风格的插入菜单和Operational Transformations构建了一个本地Notes应用程序。

回想起来,也许启动了一个未知数众多的项目,尤其是在第一周就显得有些雄心勃勃。 此外,我希望在该应用程序上花费总计超过20个小时,因此我认为最终产品将更加精美。 此外,我花了几个小时将一些逻辑提取到一个单独的库中,以用于业务逻辑/操作转换逻辑(以防我想创建一个iOS应用程序)和另一个库,用于包装类来处理中型TextView。 尽管如此,到最后,我还是学到了很多新的Cocoa开发人员,对任何Mac App开发人员都产生了新的尊重,并非常喜欢这个项目。

下一步? 我想花更多时间将应用程序完善成可用的工具,也许还要研究一下iOS应用程序和CloudKit的集成。 长期-如果我无法或不会支持我,我可能会愿意公开采购整个应用程序或库组件。 如果有人对应用程序感兴趣,或者代码可以随时与我们联系,那肯定会帮助我评估这些选项。

今天花费的时间:4小时

总开发时间:〜20小时

结果:工作记录应用

任务完成1/6

还是足够接近

    Interesting Posts