正在回答 回答被采纳积分+1
2回答
Tender10
2018-09-07 09:35:27
取plist的值,应该都是一起获取的啊,不会一个一个来获取的,如下代码所示:
// 重写get方法 -(NSArray *)questions{ //判断 if (_questions==nil) { // 如果没有就加载,加载plist文件的方法 NSString *path=[[NSBundle mainBundle]pathForResource:@"questions" ofType:@"plist"]; // 因为plist文件是数组类型,所以需要创建一个数组,保存从plist中获取到的数据 NSArray *dictArr=[NSArray arrayWithContentsOfFile:path]; // 创建可变数组,保存从数组dictArr遍历出来的每一个元素 NSMutableArray *mutArr=[NSMutableArray array]; // 循环字典转模型,将遍历出来的每一个元素,在赋值给对应的模型属性 for (NSDictionary *dict in dictArr) { //创建对象 IdiomModal *modal=[[IdiomModal alloc]init]; //赋值 modal.answer=dict[@"answer"]; modal.title=dict[@"title"]; modal.options=dict[@"options"]; //添加到可变数组 [mutArr addObject:modal]; } //循环完毕赋值给属性 _questions=mutArr; } //返回 return _questions; }
其中应该先定义一个Model类去定义要获取的属性,如下所示:
//1.答案 @property(copy,nonatomic)NSString *answer; //2.提示 @property(copy,nonatomic)NSString *title; //3.选项们 @property(strong,nonatomic)NSArray *options;
注意:选项的类型应该是数组类型,这个需要和plist文件里的数据类型进行匹配。
如果还是没能解决你的问题,可以在问答里继续提问。
慕移动2147961
2018-09-06 23:41:24
-(void)diyiti{
Idiom_Model *model=self.questions[1];
for (int i=0; i<model.options.count; i++) {
NSMutableString *tiem=[model.options objectAtIndex:i];
[self.str1 insertString:tiem atIndex:i];
NSLog(@"=%@",self.str1);
}
怎么打印出来是空啊
iOS入门:基础语法与常用控件
- 参与学习 1337 人
- 提交作业 712 份
- 解答问题 1878 个
很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星