这是最有效的方法吗?
我想存储圣经的所有书籍(66),每本书中的章节数量以及每一章中的经文数量。
然后将这些值用于选择器
- 用户选择这本书。我将章节选择器设置为适当的范围(1-xx)
- 用户选择本章。我将经文选择器设置为正确的范围(1-xx)
所以我认为最好创建两个NsArrays(书籍,章节)
和一个nsdictionary(verses)
使用书籍中的索引查找章节数(范围1-XX)使用书籍&查找经文数量(范围1-XX)
的章节是否有更好的方法来存储此结构?我想确保它是最快的
所有这些都取决于您计划如何在代码中使用数据。例如,如果您要介绍一张目录,并且用户只需单击书名在他们想要的一章中,字典将更合适,因为您会以名称查找本章。
就效率而言,访问速度可以忽略不计,因为每个数组或字典中的项目很少。圣经中只有不到1,000本书,每本书中不到1,000章,每章中的经文不到1,000篇。您的代码不会陷入困境的数千个项目,因此,从速度方面,对于此用途,它不会有任何影响。
您可以在班级下方,将此代码添加到 viewController.m file。
的顶部。interface BOOK : NSObject
@property NSString *bookName;
@property NSInteger numberOfChapters;
@property NSArray *verseArray;
@end
@implementation BOOK
@end
您只需要一个数组。@property nsmutablearray *书籍;books = [nsmutablearray阵列];例如,创建一本书。
BOOK *b =[[BOOK alloc] init];
b.bookName =@"some name";
b.numberOfChapters =3;
b.verseArray =@[@10,@11,@14];
[books addObject:b]; // this way use for loop, and objects to your array.
所以,当有人选择一行时,在您的选择器中,使用其索引获取书
Book *selectedBook =books[index];