ios - 尝试为 iOS 中的音频播放应用程序设计核心数据模型
<p><p>我有一个关于核心数据建模的问题想问。</p>
<p>我正在开发一款可以帮助用户内存诗歌的应用。这首诗分为如下:</p>
<ol>
<li><p>这首诗分为多个章节</p></li>
<li><p>每章分为多行</p></li>
</ol>
<p>现在,正因为如此,我想我会创建两个实体,如下所示:</p>
<ol>
<li>章节实体,具有以下属性:ChapterNumber、ChapterTitle 和 LineEntity。</li>
<li>LineEntity,属性有:ChapterNumber、LineNumber、LineSegment(每行分为a、b两部分)、LineText</li>
</ol>
<p>因为我打算同时为用户播放音频,所以我还需要对音频文件的引用,这就是为什么我认为我也需要 AudioFile 的实体。因此我也会有:</p>
<ol 开始=“3”>
<li>AudioFile 实体,具有以下属性:ChapterNumber、LineNumber、Start(相关音频开始的时间点)、End(相关音频结束的时间点),可能还有 fileName。我有一个完整的音频文件,但是,我想知道是否应该将音频文件分解为单独的组件,其中每个文件代表诗歌中的每一行。我个人不确定这是否是正确的方法。</li>
</ol>
<p>所以我的章节实体会调用 Line 实体的集合,而每个 Line 对象都会引用一个音频实体。这有意义吗?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>我可以想象每首诗都有一个音频文件,每个 Line Entity 都应该引用该音频文件的一部分。我会创建实体“AudioFile”,但我会用(如您所说)字段将其称为“AudioFileSplit”:<strong>ReferenceToLineEntity、Start、End。</strong>
请注意,您不需要此实体中的 ChapterNumber 或 LineNumber 字段,因为这个新实体已经引用了它们(通过行引用,您可以获得行数据、章节数据和诗歌数据)。 </p>
<p>现在,您需要存储音频文件的 URL。可能您有一个名为“诗”的实体。如果每首诗都有一个音频文件,则应该向诗实体添加一个新字段(可能是 AudioFileURL?)</p>
<p>恢复,我的 Modell 会是这样的</p>
<p>PoemEntity:[诗歌字段]、AudioFileURL、ReferenceToChapters</p>
<p>ChapterEntity:[章节字段],SingleReferenceToPoem, ReferenceToLines</p>
<p>LineEntity:, SingleReferenceToChapter, SingleReferenceToAudioFileSplit </p>
<p>AudioFileSplit:SingleReferenceToLine,Start,End</p>
<p>注意 LineEntity 和 AudioFileSplit 之间的关系是 1:1,因此您甚至可以进一步简化:</p>
<p>LineEntity:[线的字段],SingleReferenceToChapter,开始,结束。
(并且没有 AudioFileSplit 实体)</p>
<p>问候 ;)</p></p>
<p style="font-size: 20px;">关于ios - 尝试为 iOS 中的音频播放应用程序设计核心数据模型,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/33623469/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/33623469/
</a>
</p>
页:
[1]