`

IOS 实体KVC

    博客分类:
  • IOS
 
阅读更多

 

<plist version="1.0">
<array>
	<dict>
		<key>name</key>
		<string>天天酷跑</string>
		<key>icon</key>
		<string>icon_00</string>
	</dict>
	<dict>
		<key>name</key>
		<string>全民飞机大战</string>
		<key>icon</key>
		<string>icon_01</string>
	</dict>
</array>
</plist>

 

 

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface AppInfoEntity : NSObject

@property(nonatomic, copy) NSString *name;
@property(nonatomic, copy) NSString *icon;

@property(nonatomic, strong) UIImage *appImage;

-(instancetype)initWithDict:(NSDictionary *)dict;

+(instancetype)appInfoEntityWithDict:(NSDictionary *)dict;

+(NSArray *)appInfoEntityList;

@end

 

 

#import "AppInfoEntity.h"

@implementation AppInfoEntity

@synthesize appImage = _appImage;

-(UIImage *)appImage
{
    if(_appImage == nil)
    {
        _appImage = [UIImage imageNamed:self.icon];
    }
    return _appImage;
}

-(instancetype)initWithDict:(NSDictionary *)dict
{
    self = [super init];
    if (self)
    {
        [self setValuesForKeysWithDictionary:dict];
    }
    return self;
}

+(instancetype)appInfoEntityWithDict:(NSDictionary *)dict
{
    return [[self alloc] initWithDict:dict];
}

+(NSArray *)appInfoEntityList
{
    NSString *path = [[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];
    NSArray *array = [NSArray arrayWithContentsOfFile:path];
    
    
    NSMutableArray *mArray = [NSMutableArray array];
    for(NSDictionary *dict in array)
    {
        [mArray addObject:[AppInfoEntity appInfoEntityWithDict:dict]];
    }
    
    return mArray;
}


@end

 

 

 
 
分享到:
评论

相关推荐

    iOS 面试题整理

    iOS面试题整理主要涵盖了一些iOS开发中的核心概念和技术,包括对象复制、类别、继承、协议、KVC和KVO等。下面将详细解释这些知识点: 1. 浅复制与深复制: 浅复制只是复制对象的指针,指向相同的内存资源,而深复制...

    2018秋招iOS面试总结

    Objective-C的动态性,如Category和KVC(Key-Value Coding)也是重点。 - Swift:Swift的语法特性如Optionals、Inference、.playground、闭包、泛型、枚举、协议和extension是面试官常考察的内容。 2. **内存管理*...

    iOS CoreData 的小Demo

    iOS的CoreData是苹果提供的一种强大的数据管理框架,用于在应用程序中存储、管理和检索数据。这个“iOS CoreData的小Demo”是一个很好的起点,对于初学者来说,它可以帮助理解并掌握CoreData的基本用法。在这个项目...

    IOS面试宝典 最新

    3. KVC和KVO:理解Key-Value Coding和Key-Value Observing,以及它们在实际编程中的应用场景。 二、UIKit与App生命周期 1. UIViewController的生命周期:掌握加载过程、状态保存和恢复、导航控制器的使用等。 2. ...

    iOS资源,面试题

    - VIPER(视图-交互器-提供者-实体-路由):复杂应用的分层架构模式,提高代码组织性。 4. **内存管理**: - 强引用、弱引用和无主引用:理解引用计数机制,防止循环引用导致的内存泄漏。 - Auto Layout和Size ...

    iOS面试宝典

    1. **Objective-C与Swift**: 作为iOS开发的基础,你需要深入理解Objective-C的面向对象特性,如类别、协议、KVC(Key-Value Coding)和KVO(Key-Value Observing)。同时,Swift作为现代编程语言,它的特性和优势如...

    iOS中比较好的字典模型转化方式

    字典是一种常见的数据结构,可以方便地存储键值对,而模型对象则是面向对象编程中的实体类,用于封装业务数据。将字典转化为模型对象可以提高代码的可读性和可维护性。本文将深入探讨iOS中进行字典到模型转化的几种...

    iOS 面试题合集, 多次收藏的面试题打包

    1. **Objective-C/Swift基础知识**:作为iOS开发的基础语言,面试中可能会考察你对Objective-C的内存管理(如ARC机制)、Category、KVC/KVO的理解,以及Swift的Optionals、Protocol、闭包、Struct与Class的区别等。...

    iOS开发高级知识.zip

    4. **KVC(Key-Value Coding)和KVO(Key-Value Observing)**:这两个机制允许间接访问对象属性,用于动态数据绑定和观察属性变化,常见于MVVM设计模式中。 5. **UI responder chain**:理解 responder chain 的...

    2018iOS一份高级面试题

    4. **VIPER**:视图-交互器-呈现者-实体-路由模式。 ### 面试题112:什么是 runtime? **runtime** 是 Objective-C 的运行时系统,它支持动态消息传递、类和方法的查找、对象的创建等功能。运行时系统是 Objective...

    IOS 面试题

    Core Data是Apple提供的数据持久化框架,理解其实体、属性、关系、NSManagedObjects以及如何进行数据迁移,能有效地管理应用的数据。 9. **Notification** 使用NSNotificationCenter进行对象间通信,理解其工作...

    iOS开面试题+考试试卷+懒人开发tips

    面试题通常涵盖Objective-C或Swift的基础语法、内存管理、ARC机制、多线程、KVC与KVO、通知机制、GCD、设计模式(如单例、工厂、观察者等)、 MVC/MVVM/Viper架构、AutoLayout与SizeClass、SwiftUI、CoreData、网络...

    ios面试题讲解全解.zip

    2. **Objective-C特性**:"OC面试题讲解.pptx"可能详细解析Objective-C的动态性、消息机制、协议、分类、类别、KVC(Key-Value Coding)和KVO(Key-Value Observing)等特性。 3. **Swift特性**:"iOS面试题讲解....

    《Programming iOS 4》源代码

    理解其动态特性、类别(Category)、协议(Protocol)以及KVC(Key-Value Coding)和KVO(Key-View Observing)等概念至关重要。 2. **Cocoa Touch**: 是iOS开发的核心框架,包括UIKit、Foundation等子框架。它提供...

    iOS开发岗位的面试题.zip

    - Objective-C是iOS开发的传统语言,理解消息传递机制、类别、协议、KVC(Key-Value Coding)和KVO(Key-Value Observing)是基础。 - Swift作为现代替代,需要掌握其语法特性,如可选类型、闭包、泛型、枚举、...

    iOS开发面试题

    4. **KVC与KVO**:Key-Value Coding和Key-Value Observing是Objective-C中的重要概念,用于动态属性访问和监听属性变化,面试时可能会要求你实现一个简单的KVO示例。 5. **Delegation与Notification**:这两种通信...

    IOS企业面试题整理

    - Objective-C:了解类、对象、消息传递机制、协议、分类、KVC(Key-Value Coding)和KVO(Key-Value Observing)。 - Swift:理解类型系统、枚举、结构体、类的区别,闭包,可选类型,泛型,以及Swift的面向协议...

    iOS 开发者在面试过程中,常见的一些面试题,建议尽量弄懂了原理,并且多实践.zip

    - Objective-C:理解消息传递机制、Category和Extension的作用、KVC(Key-Value Coding)与KVO(Key-Value Observing)。 - Swift:了解语法特性,如Optionals、Generics、Closures、Protocol Oriented ...

    ios CoreData demo

    然后,通过 KVC(Key-Value Coding)设置对象的属性值。 5. **保存数据** 修改后,需要调用 MOC 的 `save()` 方法将更改持久化到存储中。在多线程环境中,可能需要在主队列上执行此操作以避免并发问题。 6. **...

    iOS开发中必备的OC知识

    类和对象是OC的核心概念,它们允许开发者定义和创建拥有特定属性和方法的实体。 属性(Properties)是Objective-C中的一个特性,它提供了一种声明和访问类的实例变量的方式。属性可以有多种类型,包括strong, weak,...

Global site tag (gtag.js) - Google Analytics