一个类簇的实现示例(来自mantle的github主页)

@interface XYMessage : MTLModel

@end

@interface XYTextMessage: XYMessage

@property (readonly, nonatomic, copy) NSString *body;

@end

@interface XYPictureMessage : XYMessage

@property (readonly, nonatomic, strong) NSURL *imageURL;

@end

@implementation XYMessage

+ (Class)classForParsingJSONDictionary:(NSDictionary *)JSONDictionary {
    if (JSONDictionary[@"image_url"] != nil) {
        return XYPictureMessage.class;
    }

    if (JSONDictionary[@"body"] != nil) {
        return XYTextMessage.class;
    }

    NSAssert(NO, @"No matching class for the JSON dictionary '%@'.", JSONDictionary);
    return self;
}

@end
时间: 2024-08-02 17:11:39

一个类簇的实现示例(来自mantle的github主页)的相关文章

工厂设计模式的探讨——iOS类簇的应用分析

工厂设计模式的探讨--iOS类簇的应用分析 一.何为设计模式 什么是设计模式,先来看段度娘的话:       设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的结构一样. 其实我们不需要这么专业,在我的理解,设计模式就是一种规范化的编程习惯,养成了这样的

Skinned Mesh原理解析和一个最简单的实现示例

Skinned Mesh原理解析和一个最简单的实现示例   作者:n5 Email: happyfirecn@yahoo.com.cn Blog: http://blog.csdn.net/n5 2008-10月   Histroy: Version:1.01  Date:2008-11-01        修改了一些不精确的用语 Version:1.00 Date:2008-10-19     讲述骨骼动画的资料很多,但大部分都是针对DX8或DX9的SkinnedMesh进行讲解.我觉得对于骨

一个类就可以实现多线程吗

问题描述 一个类就可以实现多线程吗 一个类就可以实现多线程吗,还是需要调用其他类才可以实现多线程,进程和线程的区别是什么 解决方案 一个类,支持runable就可以多线程.进程就是一个程序,你双击打开一个程序,就是一个进程. 每个进程至少包含一个线程.进程和进程的内存地址是独立的. 解决方案二: 一个类实现的话代码可读性很差,推荐由线程任务管理器,线程,信号量,互斥等类概念组合实现 解决方案三: 一个类可以实现多线程?多线程跟没什么很大关系.进程拥有系统资源,线程没有.它们区别很多. 解决方案四

PHP的Yii框架中YiiBase入口类的扩展写法示例_php技巧

通过yiic.php自动创建一个应用后,入口文件初始代码如下: <?php // change the following paths if necessary $yii=dirname(__FILE__).'/../yii/framework/yii.php'; $config=dirname(__FILE__).'/protected/config/main.php'; // remove the following lines when in production mode defined

java-对一个list中一个类的困扰

问题描述 对一个list中一个类的困扰 我参考的这个文档学习的livewallpaper.这里我有一些地方不太明白. 教程中的示例代码中有个MyPoint类 public class MyPoint { String text; private int x; private int y; public MyPoint(String text, int x, int y) { this.text = text; this.x = x; this.y = y; } } 然后又创建了一个MyWallp

调用方法-怎么用一个对象调用另一个类中对象的方法

问题描述 怎么用一个对象调用另一个类中对象的方法 怎么用一个对象调用另一个类中对象的方法 比如一个类A ,一个类B,B里面有个方法show(),在main中A a=new A();B b=new B();在A中没有调用B方法的情况下,我想通过a调用B中的show()方法,该怎么实现.初学者,求大神给我指导下,不知道我表达的是否准确 解决方案 首先,确认下你是想在A类的某个方法中调用B类的方法吗?如果是的话,A必须依赖B,依赖方法可以是A类关联一个B类的成员变量,示例代码: public clas

java使用监听器实现一个统计网站在线人数的示例_java

本文主要介绍了java使用监听器实现一个统计网站在线人数的示例,具有一定的参考价值,有需要的朋友可以了解一下. (1)创建一个监听器实现类 要大致统计一个网站的在线人数,首先,可以通过ServletContextListener监听,当Web应用上下文启动时,在ServletContext中添加一个List,用来准备存放在线的用户名:然后,可以通过HttpSessionAttributeListener监听,当用户登录成功把用户名设置到Session中时同时将用户名存放到ServletConte

objective-C中如何判断一个类中有没有定义某个方法

C#中可以通过反射分析元数据来解决这个问题,示例代码如下: using System; using System.Reflection; namespace Hello { class Program { static void Main(string[] args) { if (IsMethodDefined(typeof(Utils), "HelloWorld")) { Console.WriteLine("Utils类中有方法HelloWorld"); } e

一个类应该要么声称,“你不能破坏我,我对你来说是个黑盒”,要么“我已经被破坏了;先修复我然后再使用我”(转)

  英文原文:Seven Virtues of a Good Object Marin Folwer 说过: "库本质上是一组可以调用的函数,这些函数现在经常被组织到类中." 函数组织到类中?恕我冒昧,这个观点是错误的.而且这是对面向对象编程中类的非常普遍的误解.类不是函数的组织者,对象也不是数据结构. 那么什么是"合理的"对象呢?哪些不合理呢?区别又是什么?虽然这是个争论比较激烈的主题,但同时也是非常重要的.如果我们不了解对象到底是什么,我们怎么才能编写出面向对象