正在回答 回答被采纳积分+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 星