创建一个plist来存储单词及其定义的最佳方法是什么,然后用于填充按字母顺序划分为多个部分的表视图,每个单元格都指向一个详细视图。 我有我的桌子和plist连接,并了解如何获取细节视图与准备segue。我的问题是plist布局,然后使用它为节头标题和获取单词对应正确的字母。
过去两天已经花费了超过30页的谷歌多次搜索。我看过像谓词这样的术语,但我很困惑。
我不希望有人对其进行编码,但一系列步骤将成为救星。我担心没有分区会导致糟糕的使用经验。
答案 0 :(得分:1)
请按照下面的说明进行操作。
1.创建PList并提供相关名称
2.做以下事情
Key Type Value
Root Array (2 items)
->Expend the arrow of root (to below-down) direction
Item 0 Dictionary (2 items)
->Expend the arrow of Item 0 (to below-down) direction->Click + and add the below things
Name String First Section Name
List Array (1 items)
->Expend the arrow of List (to below-down) direction->Just Click + for adding item 0
Item 0 Dictionary (6 items)
->Expend the arrow of Item 0 (to below-down) direction ->Click + and the below things
Name String EnterName
Value String
Key String Name
UIType String TextField
InputType String Text
Mandatory Boolean YES
Then if you click the root there is +.Just click the + and you can see the Item 1
Key Type Value
Root Array (2 items)
Item 0 Dictionary (2 items)
Item 1 Dictionary (2 items)
->Expend the arrow of root (to below-down) direction
Item 1 Dictionary (2 items)
->Expend the arrow of Item 1 (to below-down) direction-Click + and add the below things
Name String Second Section Name
List Array (1 items)
->Expend the arrow of List (to below-down) direction-Just Click + for adding item 0
Item 0 Dictionary (6 items)
->Expend the arrow of Item 0 (to below-down) direction-Click + and the below things
Name String Enter Age
Value String
Key String Age
UIType String TextField
InputType String Text
Mandatory Boolean YES
3.然后将NSObject类名称创建为PList。
in .h
#import <Foundation/Foundation.h>
@interface PList : NSObject
+ (NSMutableArray *)arrayPlistInit:(NSString *)plistName;
@end
in .m
+(NSMutableArray *)arrayPlistInit:(NSString *)plistName
{
NSString *stringPath = [[NSBundle mainBundle]pathForResource:plistName ofType:@"plist"];
NSMutableArray *arrayPlist = [NSMutableArray arrayWithContentsOfFile:stringPath];
return arrayPlist;
}
4.in viewDidLoad
arrayTable = [PList arrayPlistInit:stringPlistName];
5.然后viewForHeaderInSection
1.Create the Custom Label and View(see the below the Coding in viewForHeaderInSection)
UILabel *labelSection;
UIView *viewSection = [[UIView alloc]init];
viewSection.frame = CGRectMake(0, 0, tableviewCreate.frame.size.width, 20);
labelSection = [[UILabel alloc]init];
labelSection.textAlignment = NSTextAlignmentLeft;
labelSection.frame = CGRectMake(10, 5, tableviewCreate.frame.size.width, 20);
[labelSection setBackgroundColor:[UIColor clearColor]];
[labelSection setFont:[UIFont boldSystemFontOfSize:15]];
NSString *name = [[arrayTable objectAtIndex:section] objectForKey:@"Name"];
labelSection.text = name;
答案 1 :(得分:0)
用这些模糊的细节很难回答这个问题,但我会尝试。特别是不知道你是如何将这些单词存储在plist中的。
但假设您只是在该plist中存储字符串,那么只需读取整个文件,然后抓取所有单词的第一个字母并将它们放入NSSet(一个集合是一个只允许任何数据出现的数据结构一旦)。有了它,您将拥有可用于创建部分的索引。
然后将您的NSSet映射到字典。每个键都是集合中的一个值,它们的值将是包含以该字母开头的单词的数组。
我没有实现这一点,但我会遵循这种方法。