博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS第四天(2:字典转模型plist)
阅读量:4557 次
发布时间:2019-06-08

本文共 2122 字,大约阅读时间需要 7 分钟。

HMQuestion.h 

#import 
@interface HMQuestion : NSObject@property (nonatomic, copy) NSString *answer;@property (nonatomic, copy) NSString *icon;@property (nonatomic, copy) NSString *title;@property (nonatomic, strong) NSArray *options;- (instancetype)initWithDict:(NSDictionary *)dict;+ (instancetype)questionWithDict:(NSDictionary *)dict;/** 返回所有题目数组 */+ (NSArray *)questions;@end

 

HMQuestion.m

#import "HMQuestion.h"@implementation HMQuestion// 在成员方法中,如果给self赋值,只能在initXXX方法中进行// 语法约定:// 1> 所有的方法首字母小写// 2> 当单词切换的时候,单词首字母大写(驼峰法)// 3> 类名要大写- (instancetype)initWithDict:(NSDictionary *)dict{    self = [super init];    if (self) {        [self setValuesForKeysWithDictionary:dict];    }    return self;}+ (instancetype)questionWithDict:(NSDictionary *)dict{    return [[self alloc] initWithDict:dict];}+ (NSArray *)questions{    NSArray *array = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"questions.plist" ofType:nil]];        NSMutableArray *arrayM = [NSMutableArray array];    for (NSDictionary *dict in array) {        [arrayM addObject:[self questionWithDict:dict]];    }        return arrayM;}// 对象描述方法,类似于java中的toString(),便于跟踪调试的// 建议:如果是自定义的模型,最好编写description方法,可以方便调试- (NSString *)description{    return [NSString stringWithFormat:@"<%@: %p> {answer: %@, icon: %@, title: %@, options: %@}", self.class, self, self.answer, self.icon, self.title, self.options];}@end

HMViewController.m文件

#import "HMViewController.h"#import "HMQuestion.h"@interface HMViewController ()@property (nonatomic, strong) NSArray *questions;@end@implementation HMViewController//懒加载- (NSArray *)questions{    if (_questions == nil) {        _questions = [HMQuestion questions];    }    return _questions;}- (void)viewDidLoad{    [super viewDidLoad];        NSLog(@"%@", self.questions);//    for (HMQuestion *obj in self.questions) {//        NSLog(@"%@", obj);//    }}/** 调整状态栏颜色 *//** UIStatusBarStyleDefault      黑色状态栏 UIStatusBarStyleLightContent 亮色状态栏 */- (UIStatusBarStyle)preferredStatusBarStyle{    return UIStatusBarStyleLightContent;}@end

 

转载于:https://www.cnblogs.com/ios-g/p/4680148.html

你可能感兴趣的文章
spark-streaming-kafka采坑
查看>>
9.Mongodb与python交互
查看>>
18-[JavaScript]-函数,Object对象,定时器,正则表达式
查看>>
读取短信回执
查看>>
EF 数据初始化
查看>>
PreparedStatement与Statement
查看>>
WebService -- Java 实现之 CXF ( 使用CXF工具生成client 程序)
查看>>
Android学习--网络通信之网络图片查看器
查看>>
[LeetCode] Excel Sheet Column Number
查看>>
安卓广播接收者
查看>>
999线监控
查看>>
Redis在python中的使用
查看>>
理解class.forName()
查看>>
每日一小练——数值自乘递归解
查看>>
二叉搜索树 (BST) 的创建以及遍历
查看>>
MyBatis/Ibatis中#和$的区别
查看>>
【JAVASCRIPT】React学习-组件生命周期
查看>>
win 64 文件操作
查看>>
Java范例集锦(二)
查看>>
C语言变量和常量
查看>>