1、截至目前已经用Cursor编辑了63939行代码,今天继续让Cursor恢复各个模块的功能,并优化应用界面和交互,整体原则就是优先用已有的代码
2、首先是AI对话相关功能,从添加模型开始,添加模型功能目前不能正常使用,填写所有信息并点击添加后,没有保存到模型列表里,且添加模型界面需要增加一个备注字段,优先用已有的代码来实现此功能
3、在可以保存模型之后,发现只能删除,不能编辑模型,且API Key、Tavily Key都是以明文显示,也不安全,点击AI对话右上角的模型切换按钮,也看不到目前已有的模型,继续让Cursor修正
4、一直以来都是使用Cursor的Auto模式,但今天第一次见到它出现了思考过程,今天这是在调用什么支持深度思考的模型了吗?
5、继续调整模型添加和选择相关功能,比如把备注字段放在添加和编辑模型界面的最上面,对话界面右上角也显示备注字段,显示选择状态等等
6、AI模型的添加、编辑、切换基本搞定,接下来测试对话过程,首先遇到的问题是:已经填写了AI模型的信息,但提问后反馈“错误,未找到指定的AI模型”,在修改过程中发现目前存在aiModels和aiConfigs两种模型数据混用的情况,于是让Cursor检查有无其它功能仍在混用,Cursor检查后建议完全迁移到aiConfigs,因为它功能更完整,且不需要Core Data的复杂性,已经实现了完整的GRUD操作
7、有点疑惑UserDefaults和Core Data两种数据存储方式竟然可以混用?询问Cursor目前哪些地方用了UserDefaults,哪些地方用了Core Data,Cursor在梳理后表示现在的确是“分层混用”的状态,Core Data管理业务数据(笔记、会话、消息),UserDefaults管理轻量设置(外观、Tavily Key)以及AI模型配置aiConfigs,技术上是合理的,决定暂时保持目前的混用状态
8、继续测试AI对话相关功能,发现无论我问哪个模型,都会收到“这是一个模拟的AI问答。您的问题是:你好”的回答;对话内容没能保存到对话列表里;即使模型不支持深度思考,也会显示思考过程,看一下是怎么回事,并且尽量使用已有的文件和代码来解决问题
9、再次测试时发现无论使用哪个模型都会收到模拟的回答,而不是真实的AI的回答,并且AI问答列表显示的内容也有问题,继续让Cursor修正,Cursor表示是为了先确保实现其它功能,避免因误调用产生费用,而且即使真实调用失败时界面也能正常流转,但我不需要这种所谓的兜底方案,于是直接让Cursor真实调用AI模型,不需要模拟回答
10、然后又遇到了“网络连接错误”的提示,怀疑可能是Base URL的问题,询问Cursor之后,决定让应用自动补全/chat/completions,并且在AI模型添加/编辑界面增加说明文字,防止用户填错,Cursor添加了智能URL自动补全机制,如果用户只输入了基础地址(如 api.openai.com),会自动添加 https:// 和 /v1/chat/completions,如果用户已经包含了部分路径,会智能补全,从而避免重复添加路径导致的双重拼接问题,测试发现只需要填写最简单的网址就可以,比如https://api.deepseek.com、https://openrouter.ai/api
11、然后我发现无论模型是否支持深度思考,在回答时都会显示思考过程区域,如果模型不支持深度思考,就看不到完整的回答内容,让Cursor增加了自动判断模型是否支持深度思考的机制,修改过程中Cursor在AI模型设置中增加了深度思考开关,将决定权交给用户,我觉得还是自动判断更方便,于是改成了自动判断是否支持深度思考的方式
12、现在可以正常判断出deepseek r1支持深度思考了,思考过程可以展开/折叠,但即使展开也看不到思考过程的详细内容,在回答过程中,界面无法随着回答内容自动向下滚动,且看不到完整的回答内容,Cursor在修改过程中改进思考过程内容、改进自动滚动逻辑、改进内容更新机制,在测试过程中发现之前的MarkdownRenderer和CodeBlock相关功能还都有效,太棒了!
13、我之前有要求Cursor在AI对话页的每条消息下面添加三个按钮,收藏、复制、删除,不知道现在还有没有相关代码,没有的话就重新添加三个按钮和对应的功能,针对这一需求,修改后竟然给思考过程和回答内容增加了不同的背景色,但思考过程应该在回答内容上方,继续调整
14、调整完这些之后,AI对话界面的问题和回答都统一居左了,让Cursor调整了下,问题在左边,思考和回答在右边,然后点击收藏消息时,不要滚动到底部,保持在当前的浏览位置就行
15、接下来测试Tavily相关功能是否正常,询问deepseek r1一个需要搜索最新信息的问题,同步测试下深度思考是否正常,能否看到搜索链接,能否点击打开对应页面,能否收藏等功能,发现1.深度思考可以按句流式输出,但看不到完整的思考内容,只能看到最后两行 2.目前项目文件里已有Tavily相关文件和代码,回答内容的下方需要展示Tavily参考的链接,并且可以点击打开链接,看看现有的文件是否支持该功能 3.回答内容中包含网址时,其中的“.”会显示为“。” 4.点击收藏按钮,虽然提示收藏成功,但没有出现在备忘录列表里,四个问题全部反馈给Cursor修改
16、今日遗留问题:1.AI回答内容里的“.”都显示成了“。”,网址和代码都受此影响;2.思考内容虽然支持流式输出,但始终只能看到两行,看不到全部思考内容;3.提出问题后,只有主动滑动一下才能看到底部的“AI正在思考中”的提示
17、Cursor已经开始建议我“Start a new chat for better results”,难道是这个对话里内容太多了?明天重新开启一个对话之后再修正这三个遗留问题,然后测试其它功能
标签: CoreData
DevLog:2025年8月17日
1、今天重点优化备忘录相关功能,首先我发现备忘录列表里显示的备忘录内容不会随修改更新,比如备忘录里明明有文字,列表里却显示“空内容”,另外需要把备忘录标题下面的“文本编辑器”和右侧的字数统计去掉,因为界面右下角已经有字数统计了
2、修正这一问题后,发现又看不到支持深度思考的模型的思考过程了,并且在AI回答时,界面也不会自动向下滚动,可能是昨天将MessageView从AIChatView中拆分出来之后又有部分功能丢失了?先把这部分功能加回来,然后优化一下输出时的卡顿问题
3、继续优化备忘录,测试时发现了“列表顺序会随着点击发生变化,而不是只有修改内容时才会变化”和“光标自动跳转到结尾”的问题,在修改过程中,我发现虽然目前用的TextEditor是纯文本编辑器,但当前仍然有用到NSAttributedString来进行富文本处理,其实现在不需要处理富文本了,于是让Cursor去掉了富文本相关的代码
4、发现部分备忘录内容可以正常显示,部分不能,Cursor排查后发现Note模型有两个内容字段,一是markdownContent的纯文本内容,二是attrbutedContent的富文本内容,Cursor修改后改为二者均可正常显示,且优先使用前者,如果前者为空则使用后者
5、在修正备忘录问题的过程中,让Cursor去掉了知识库相关功能,暂时没有想好知识库该怎么用,而且知识库目前的存储也是以备忘录的形式存储的,和备忘录有些重合,先优化备忘录模块,后面再考虑更加其它功能吧
6、然后又修正了AI对话删除之后同时存在于列表和回收站的问题,修正了AI对话右上角无法切换模型的问题,奇怪的是之前我明明记得有一个AIModelSelectorView文件,啥时候消失了?
7、在让Cursor美化AIModelSelectorView时,美化有些过度了,并且再次出现了macOS不支持的SystemGray颜色,仍然时从iOS迁移至macOS的后遗症
8、结合当前应用的功能,让Cursor更新README,同时更新了应用的版本号为0.1,涉及info.plist和project.pbxproj两个文件
9、还在纠结数据的存储方式,因为UserDefaults主要用于存储一些配置相关的数据,在存储大小、性能、数据完整性、扩展性上均有限制,Cursor建议在数据量增长后迁移到Core Data或SQLite,比如数据大小超过5MB时,但因为对话内容中有大量的Markdown渲染,还有备忘录功能,数据可能很快就超过5MB了
10、决定先把目前的0.1备份一下,然后把数据存储机制改成Core Data,并且不需要迁移已有数据
11、Cursor表示要完成这一迁移,需要如下步骤 1.首先创建Core Data模型文件 2.创建Core Data管理器 3.更新数据模型以使用Core Data 4.更新DataManager以使用Core Data 5.更新相关的ViewModels,接下来当然又是修改项目文件、修复编译错误的漫长过程,待完成后再挨个测试功能
12、在修复编译错误的过程中,Cursor为了能更快解决编译错误竟然删除了五个视图文件,我拒绝,让它重新创建这五个文件,然后修正错误,因为担心后面还会再删除其它文件导致应用功能大量缺失
13、累计修复了:类型定义问题、可选值处理、方法签名修复、ScrollViewReader问题、Core Data关系处理、视图组件修复,以及几处警告,终于可以成功构建了
14、接下来测试功能,一打开App天都塌了,缺失了大量功能,接下来逐个修复,
1.备忘录界面没有创建备忘录的按钮 2.去掉预置模型中的所有模型,让用户自己添加,并且在添加模型界面增加Tavily密钥字段 3.AI模型管理界面无法关闭或返回 4.整体布局也很奇怪
15、Cursor还是将应用改成了三栏式布局,之后恢复设置功能,其中包含统一管理模型、数据统计、切换深色浅色模式、管理回收站等功能,并且提出优先让Cursor使用已有的文件和代码
16、然后调整了关于、模型管理功能(既然已经没有预置模型,那就不再需要每次打开应用时都删除了)、调整搜索功能(在导航栏里添加搜索按钮,点击弹出搜索弹窗,去掉备忘录界面的搜索按钮),仍然要求优先用已有的代码,目前已经恢复了应用的布局,今后再恢复各个功能
DevLog:2025年8月4日
1、今天开始优化ChatWith,比如流式输出、Markdown渲染、深色模式等功能同样也可以加到ChatWith里,另外尝试一下增加多模型设置和切换功能
2、测试下看Cursor能否看懂这种指令“参考NoteWith,完善一下ChatWith在与AI对话时的流式输出和Markdown渲染效果”毕竟上次使用时刚刚用它完善了NoteWith的流式输出和Markdown渲染效果,但看样子Cursor无法在修改一个项目时参考另一个项目的代码
3、在修正“新的实例没有加载已保存的大模型相关配置”这一问题之后,测试流式输出和Markdown渲染的效果,发现还有一些可优化的地方,比如:1.我添加了支持深度思考的模型,但没有看到思考过程,需要同样以流式输出显示思考的过程,并且在样式上要和回答的内容有所区别,且可以将思考过程折叠和展开 2.回答的内容在流式输出时好像会居中显示,也不符合日常的使用习惯 3.正在流式输出时,回答内容的上方有一个灰色的圆形,那是啥?
4、继续修正测试时发现的小问题,比如:1.为什么思考的过程和回答内容都显示不全?2.Markdown渲染效果也有问题,比如同时使用多个Markdown语法时会混合显示部分渲染效果和语法标记,可否把几种比较常见的Markdown语法混用情况写到MarkdownRenderer里?3.应该优先显示思考过程,再显示回答内容,现在会先显示一部分回答内容,然后又弹出了思考内容
5、继续修正测试时发现的小问题,比如:1.在回答过程中会出现上下两部分同时显示的问题,到底哪个是思考过程?2.回答完毕后只剩一个回答结果,但回答过程中内容显示错乱,而且回答过程中无法上下滑动查看回答内容,3.“收藏”页面需要改成列表,以列表形式,显示每条收藏的内容的前两行,并且点击打开后可查看经Markdown渲染的内容
6、继续修正测试时发现的小问题,比如:1.我需要按照这个顺序:先流式输出思考过程,思考完成后,思考内容自动折叠,之后流式输出回答内容。2.目前这版的思考过程和回答内容无法区分,且在对话界面会同时显示两块内容,不知道哪个是思考过程哪个是回答内容,且应用会卡死
7、多次调整之后发现仍然无法搞定思考过程流式输出的需求,好在回答内容可以正常流式输出了,然后让Cursor去掉对话界面顶部的“已加载全部消息”提示,并且收藏列表页顶部添加一条和对话页顶部一样的搜索栏,并且收藏列表的样式、间距等和对话列表保持一致,让界面更统一一些
8、边添加功能边测试真的太重要了,之前用Trae编写ChatWith并且让Cursor做了些优化之后,一直没有实际测试,今天才发现有这么多的细节问题需要调整
9、接下来在设置中增加深色模式切换功能,让用户可以在浅色、深色、跟随系统三个选项间切换,然后增加多模型设置和切换功能,比如可以在设置中添加新模型,可以给不同的模型添加备注,在对话界面可以自行切换模型(显示模型的备注)
10、Cursor在修改过程中出现了单个对话内容太长的提示,可能是因为我在上次修改的基础上继续进行对话,导致触及了单个对话的内容长度限制,于是开启了一个新的对话,好在出现这一提示之前已经构建成功了
11、接下来优化设置界面添加模型、编辑模型的逻辑,在设置界面中点击“添加新模型”时,直接打开添加新模型页面,内容和编辑模型界面一致,然后设置界面的模型名字和备注名字换一下顺序,突出备注名,弱化模型名,之后再根据测试情况继续优化编辑模型的操作方式,以及外观选项的显示效果和位置,模型管理放在上面,外观设置往下挪
12、反复测试并让Cursor优化设置、模型添加/编辑、切换的功能,出现了切换外观不立即全局生效,首次打开编辑模型界面时内容为空的问题,于是让Cursor添加多处调试信息以帮助定位错误,结合调试信息,Cursor解决了首次打开编辑模型界面内容为空的问题,但外观切换不能立即全局生效的问题还存在
13、Cursor解释说SettingsView在sheet内部,可能时因为外观的变动未能正确传递到sheet内部的视图,于是让Cursor将SettingsView拆分成独立的文件,但还是没能解决外观变动不立即全局生效的问题,再次让Cursor检查后快速修正,看来可能将SettingsView拆分成独立文件后的确提升了应用的可维护性,检查和修正问题变得简单些了
14、到今天为止,尝试使用AI(按使用频率排序Cursor>Trae>Lingma)开发应用已经有一个月了,简单总结下:
1.初期构思应用时,需求尽量简单一些,提升首次编写的成功率
2.找到一个心目中的样本,参考它的功能构思自己应用的功能,或者结合它的不足,让Cursor在自己的应用中有针对性的解决
3.后续增加功能时,每增加一个功能就在Cursor中构建,并且在模拟器中测试一下,看是否有明显问题,修正问题之后再增加新功能,不要妄图一次增加太多功能
4.遇到问题,可以让Cursor在代码中添加调试信息,结合调试信息和实测表现,Cursor可以更快地解决问题
5.关于数据持久化方案,零基础开发不要轻易尝试Core Data,UserDefaults对于一个刚刚开发的应用也已经足够了,不可能一步到位,等对Swift足够熟悉之后,再尝试Core Data
6.开发过程中不要频繁切换工具,也不要频繁切换模型,其实Cursor的Auto模式就已经够用了,切换模型可能会导致在修改某个功能的同时,其它功能也被修改
7.可以在开发过程中让Cursor记住你的某些使用习惯,比如默认用哪个型号的模拟器,在修改后先行构建测试,检查有没有语法和编译问题等等
8.如果卡在某个功能上太长时间无法解决,可以开启一个新会话,再让Cursor重新检查问题出在哪儿,或者先妥协一下,缩减一些功能
15、仍然不确定目前ChatWith,以及NoteWith是否能正常展现支持深度思考的模型的思考过程,留给明天吧,今天就到这儿了
DevLog:2025年7月19日
1、Cursor的Pro试用到期,但之前DoitWith卡在启动页的问题仍未解决,转战Trae,先让Trae熟悉一下这个由Cursor创建的项目,然后让Trae检查卡在启动页面的原因,在检查并修正它发现的一些问题之后,结论仍然是存在重复的文件,它需要删除这些手动生成的Core Data文件,先拒绝了,耗时半小时,并未解决问题,且出现了两次“模型思考次数已达上限,输入“继续”后获得更多结果”
2、对Trae有些失望,Trae更新了2.0版本,继续让它操作之后仍然在不断尝试和重复之前进行过的的一些修改,不仅没有解决问题,甚至还导致使用Xcode查看项目文件时,Xcode频繁崩溃,参照Cursor给到的方法多次修正后仍然会闪退
3、决定让Cursor简化整个项目,将备忘录相关功能移除,数据存储方案也不再使用较为复杂的Core Data,这样也就不再需要富文本编辑器等功能,应用功能和文件结构都大幅简化,变成一个纯Todo类应用,可能一开始给的需求就太复杂了,简单一些会更少出错,之后再随着使用和对代码的熟悉程度的提升,丰富应用的功能
4、Cursor移除了NoteView及相关文件,删除了所有Core Data相关的实体、属性、初始化、模型文件,删除了Persistence.swift等持久化相关文件,MainTabView只保留Today和Todo两个Tab,之后对TodoView及其相关子视图进行修改,并提供UserDefaults(适合简单数据)和文件存储(适合结构化数据)两种本地存储方式,此处选择用UserDefaults
5、修改完成之后手动删除了一些重复文件,Xcode提示构建成功,且启动了模拟器,但不会自动打开App,也没有任何的错误提示,之后手动重建了项目,解决之前文件结构上的问题,但之后又多次让Cursor修正因之前使用Core Data,后来改用UserDefaults遗留的问题
6、偶然发现同一个问题在Cursor多次修改后仍然重复出错,不能正常构建,但在Xcode中参考Xcode的建议(建议代码、Fix)可以快速修正且完成构建,Cursor好像有时会陷入到一个循环里,反复修改,每次都保证说这次100%能够成功构建,100%可以解决问题,但就是解决不了
DevLog:2025年7月16日
1、了解了下Cursor的订阅,虽然默认的Auto模式已经足以满足我的需求,但马上两周的免费试用期就要结束了,到时看看功能上有什么变化,如果功能严重受限,考虑订阅Cursor Pro,目前可以用支付宝支付
2、Cursor具备Agent、Ask、Manual、Background四种编程方式,可以根据需求选择,模型方面,Auto模式由Cursor根据任务类型和复杂程度自动判断使用哪个模型,也可以关闭Auto模式,指定模型
3、NoteWith和ChatWith由于涉及接入AI大模型,在上架时可能需要先备案,但备案手续复杂且审核时间长,考虑开发一款不需要进行备案的App
4、赶在Cursor的Pro试用过期之前,让Cursor再帮我开发一个新应用,吸取之前的教训,这次在一开始就提出了尽量详细的需求:
1.iOS平台,应用名称为DoitWith,采用SwiftUI开发
2.应用启动界面以墨绿色为底色,启动界面显示应用名DoitWith,下方一行为副标题“Todo and Note, in one App.”
3.应用界面分为Today、Todo、Note共三个tab,可在底部点击切换,三个tab的右上角都有加号和齿轮图标,Todo界面点加号可选择创建新Todo或创建新分组,笔记界面点加号可以创建新笔记,点击齿轮进入设置界面,Today列表、Todo列表和笔记列表的设计要足够简洁且风格一致一些
4.Today界面列出今天到期的Todo项目,可以长按每条Todo进行完成、重命名、修改、删除等操作
5.Todo界面可以自行设置组(默认有工作、生活两个分组,各有一条示例Todo)、可设置提醒时间,任务过期时文字变红并在文字前添加警告emoji,每条Todo都可以通过长按进行完成、重命名、修改、删除等操作,可将Todo在不同分组间拖动
6.笔记界面默认显示笔记列表,点击创建笔记按钮或笔记列表页右上角加号可创建笔记,采用富文本编辑器,支持常用的文字格式设置,选中文字后即可在底部调节格式
7.设置界面可查看Todo和Note的数量
8.采用你推荐的数据存储方式
5、Cursor对我的需求进行细化和明确,给出了技术选型与架构建议:
-UI 框架:SwiftUI(官方推荐,现代、易维护)
-数据存储:推荐使用 Core Data(苹果官方,适合本地结构化数据,支持分组、提醒、富文本等需求)
-富文本编辑:使用 SwiftUI + NSAttributedString,或集成第三方如 TextEditorPlus(如需更强大功能)
-本地通知:用于 Todo 提醒
-MVVM 架构:便于维护和扩展
以及任务拆解:
-项目初始化与启动页开发
-TabView 主界面搭建
-Today、Todo、Note 三个 Tab 的基本结构
-加号与齿轮按钮功能实现
-Todo 分组、拖动、提醒、过期样式
-Note 富文本编辑器集成
-设置界面开发
-数据存储(Core Data)建模与集成
-本地通知集成
-UI 优化与风格统一
6、Cursor让我在 Xcode 里手动新建一个 SwiftUI iOS App(建议命名为“DoitWith”,语言选择 Swift,生命周期选择 SwiftUI App,勾选“Use Core Data”),之后再进行后续操作
7、在Cursor创建应用的过程中,有两次需要我手动创建NSManagedObject Subclass,昨天在修改NoteWith时也出现了这种情况,猜测可能是因为在数据存储方面采用了Core Data
8、在集成富文本编辑器时,Cursor建议我使用RichTextKit的包管理集成,且Cursor无法自行完成这一操作,需要我在Xcode中Add Packages,集成RichTextKit,但我个人不太喜欢这种功能较为复杂的三方库,于是询问Cursor:有没有iOS自带的组件可以实现类似需求?我对这个编辑器的功能要求不是很高
9、Cursor推荐使用UIKit的UITextViews实现基础富文本编辑,然后通过UIViewRepresentable桥接到SwiftUI,这样无需引入第三方库,且兼容性和性能都很好
10、Cursor在创建完成后提示构建成功,但再次出现了昨天NoteWith的问题“可能有重复的NSManagedObject子类文件,或者Xcode项目引用了同一份文件的多份引用”,明天再看怎么解决
DevLog:2025年7月15日
1、结合Cursor昨天给的建议,对NoteWith做一些功能和性能方面的优化,给Cursor的指令如下:
结合你上面的建议和我的需求,对当前版本做如下优化:
1.备忘录本身的功能优化:增加更多格式设置(选中文字后底部弹出格式设置按钮,点击即可应用格式)、备忘录详情页底部增加常驻的字数统计功能,可通过iOS系统分享面板分享备忘录至其它应用
2.备忘录和AI会话列表页采用分页加载或懒加载,以优化性能
3.采用本地缓存机制Core Data,并将数据存储操作放到后台线程
4.完善网络、存储等异常场景的错误处理,并给予用户友好提示
5.设置界面填写大模型API地址时,无需填写/chat/completions,防止造成重复路径
2、这次耗费的时间比较长,可能是由于需求数量较多,且中途Cursor为应用添加了旧数据迁移机制,但我反馈不需要改机制,因为应用还未上线,之后Cursor有一处频繁出现的错误时Xcode工程结构问题,无法通过代码自动修复,需要在Xcode中手动操作
3、但我这时并未按Cursor的提示手动操作,一直让Cursor帮我处理,多次让Cursor处理并夹杂一些不知道是否正确的手动操作之后,错误越积越多,已达20条,在Xcode中导出错误提示后复制给Cursor,分析原因可能是:
1.自动生成的 NSManagedObject 子类文件重复
你很可能有两份同名的 Core Data 实体类文件,比如:
一份在 Xcode 自动生成的(通常在 .xcdatamodeld 旁边的 “Generated” 文件夹或你指定的目录)
另一份是你之前手写的,或者你把自动生成的文件又拖进了项目,导致重复引用
2.文件被多次添加到 Target
有时候同一个文件被多次添加到 Target(比如拖进项目时勾选了 Copy if needed),也会导致重复编译。
4、Cursor给出的解决办法是,删除所有手写的NSmanagedObject子类,在Finder和Xcode中都检查并删除,只保留自动生成的文件,检查Xcode工程文件引用,删掉多余的文件,完成这两步之后,错误减少至11条。
5、实际操作中我好像把手写的和自动生成的文件搞混了,于是都删掉,再重新生成NSmanagedObject子类
6、之后还是反复出现“Invalid redeclaration”错误,Cursor提示我可能是有重复的文件,或者把同样的文件在Compile Sources列表中添加了两次,但我多次检查并没有重复文件,也没有重复添加,不停的让我检查.xcdatamodeld的Codegen设置,要求每个实体的Codegen设为Manual/None,删除DerivedData,重新打开Xcode,Clean Build Folder,检查Compile Sources,确认每个实体相关的Swift文件只出现一次
7、觉得造成今天这种错误反复出现的原因,可能是我要求切换存储模式为Core Data
8、将目前的项目文件给到Trae,使用新的Doubao-Seed-1.6模型,但直接让Trae检查项目时没有检查出当前的问题,提供错误截图之后,才对重复声明进行修正,这次貌似有点作用,错误消失了一部分,继续让Trae来修正试试,这时思考过程突然变成了英文(可能是公司网络状况不好?但现在大家都下班了,应该不至于啊)
9、Trae修改之后,又跳出来更多错误,没能帮我解决问题
10、怀疑可能是Cursor在处理我今天早上的第三条需求时,添加了数据迁移机制导致的这些问题,于是问Cursor:有没有可能是数据迁移机制导致的今天这些问题?去掉旧数据迁移机制,直接让应用以Core Data来存储数据,是否能解决?Cursor给出了相当于是肯定的答复:去掉旧的数据迁移机制,只用 Core Data 存储数据,确实能解决你遇到的大部分“重复声明”“编译冲突”等问题。只要保证项目里只有一套 Core Data 实体类和数据访问逻辑,相关配置正确,问题基本都能解决。
11、让Cursor去掉了旧的数据迁移机制,只用Core Data存储数据,经过多次且涉及多个文件的修正之后提示构建成功,看来今天这些问题就是由于Cursor在修改存储模式时添加了数据迁移机制导致的
12、接下来优化细节并处理警告,AI对话列表中没有对话时,将“没有找到匹配的AI对话”修改为“还没有AI对话”,将备忘录列表页的“创建第一个备忘录”改成“创建备忘录”,并且处理一下六处警告:/Users/jinlei.wu/Documents/GitHub/NoteWith/NoteWith/Services/CoreDataManager.swift:56:49 Conditional cast from ‘NSManagedObjectID’ to ‘NSManagedObjectID’ always succeeds
13、Cursor提示:所有objectID as? NSManagedObjectID的无意义强转已去除,直接使用note.objectID或session.objectID,这样可以彻底消除你提到的“Conditional cast from ‘NSManagedObjectID’ to ‘NSManagedObjectID’ always succeeds”警告。
14、基本全部搞定了今天一开始的需求,后续在模拟器中测试一下实际使用的体验,进一步优化