「iOS / Swift 」独立开发项目有偿求助

2017-11-21 20:49:13 +08:00
 remaerd

大家好。

我在用 Swift 独立设计开发一款叫做 iOS 效率软件。我本身不是理科出身的,数学逻辑不太好,所以遇到一个逻辑相对复杂的地方,一直拖着没有解决。所以来这里寻求帮助。

具体点说,我的软件是一个写作软件。但文章数据不会保存为 Document,而是一个数据库。所以当用户使用 UITextView 时,软件会将 NSAttributedString 转换成 CoreData 数据。我脑子无法胜任搞定逻辑过于复杂的转换,所以想借你们解决问题。

感兴趣的话,请联系我的邮箱 hi@zhengxingzhi.com ,并告诉我需要支付多少费用。做出来的代码放在 Bitbucket private repo 或 GitHub public repo 都行,只需要通过 unit testing,能用就行。

p.s 我自己本身也有做一些 swift 开源项目,比如这个。GitHub.com/remaerd/keys

1250 次点击
所在节点    外包
17 条回复
13036101641
2017-11-22 10:08:01 +08:00
NSAttributedString 有很多属性,只是将它的文本存储到 CoreData 吗?
xiubin
2017-11-22 10:14:08 +08:00
写作软件的重点不是在于编辑器上吗?
remaerd
2017-11-22 10:21:32 +08:00
@13036101641 需要将 UITextView 内的 NSAttributedString 分段存到 CoreData。难点在于用户的全部修改会直接进数据库。而用户的编辑行为其实有很多种可能,包括输入,删除,剪切粘贴。我自己搞过,然后很多地方都可能出问题。
remaerd
2017-11-22 10:22:56 +08:00
@xiubin 是的。我自己本身能应付一部分比较简单的开发。所以不需要将整个项目交给其他人做,也没这么多资源。
zjddp
2017-11-22 13:26:01 +08:00
试试 openXML ?不知道这个算不算一种富文本持久化方案
zjddp
2017-11-22 13:32:20 +08:00
另外,用户操作全进数据库这个,是不是考虑到 undo/redo 了,我记得 Foundation 提供了 NSUndoManager 来管理 undo/redo,如果是的话你可以试一下。
13036101641
2017-11-22 17:35:21 +08:00
https://developer.apple.com/library/content/samplecode/StateRestore/Introduction/Intro.html
这个是 iOS 官方的一个 demo,估计满足不了你那么复杂的需求,它这个 api 主要用于恢复应用的状态
remaerd
2017-11-23 06:37:44 +08:00
@zjddp
@13036101641

进数据库并不是为了 Undo / Redo。如果文章里面包含任务清单,我会在文章编辑器之外的地方展示任务;并做一个快速跳转搜索栏,可以随时随地跳转到任何内容。如果使用纯 Document / XML / KeyedArchiver 格式保存文件,是无法实现快速搜索跳转和任务清单功能的,所以需要将文章内容保存到数据库内,并将文章的内容进行分段储存。

我目前的办法是通过 NSTextStorage 获得用户的光标位置,并只保存光标这一段内容的修改情况。但是在修改的过程中,会出现很多我上面提到的替代路径,比如添加,删除,批量添加,批量删除,修改。所以像我这种逻辑能力不强的人,就无法承担这么复杂的替代路径,并保证软件不出 BUG... 有朋友建议我不要用这么复杂的办法实现,但是如果用这种方式偷懒的话,以后要实现新功能时,又会有很大机率碰到其他问题。
zjddp
2017-11-23 13:52:00 +08:00
@remaerd 感觉和 Notion 很像,容我再想想方案。
remaerd
2017-11-23 21:07:03 +08:00
@zjddp 对,是和 Notion 的 Model 架构有点像。有兴趣的话,可以一起私聊一下。^_^
remaerd
2017-11-25 11:02:43 +08:00
我还是没找到解决办法,你们有空可以帮我看看吗?
多谢。

@zjddp
@13036101641
13036101641
2017-11-25 11:05:54 +08:00
@remaerd 我还想等你做出来了,用这么个高大尚软件呢,我有用印象笔记,感觉它也没有你提出的这么个功能啊,只是感觉它创建笔记很方便,而且和电脑同步起来很流畅
remaerd
2017-11-25 11:26:41 +08:00
@13036101641 感觉 Notion 蛮适合你的,我自己用起来会觉得比较复杂。我还有好多酷炫屌的想法还没实现,好想尽早搞定这堆麻烦事。
13036101641
2017-11-25 11:30:09 +08:00
@remaerd 好,我试试,第一次听说这个软件
zjddp
2017-11-25 14:29:22 +08:00
@remaerd 手头有别的项目,我抽时间帮你想想可以吗?
remaerd
2017-11-25 23:51:51 +08:00
@zjddp 谢谢你。有空联系。hi@zhengxingzhi.com
zhigang1992
2017-11-26 09:41:44 +08:00
可以考虑全部 snapshot? 虽然费一点存储,但是就不用处理那些逻辑了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/408372

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX