自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(38)
  • 资源 (52)
  • 收藏
  • 关注

转载 Object-C中类的属性

属性通常是指某些由对象封装或储存的数据。它可以是标志(如名称或颜色),也可以是与一个或多个其他对象的关系。一个对象的类定义一个接口,该接口使其对象的用户能获取并设定所封装属性的值。执行这些操作的方法,称为存取方法。存取方法有两种类型,每个方法都必须符合命名约定。“getter”存取方法返回属性的值,且名称与属性相同。“setter”存取方法设定属性的新值,且形式为 setPro

2014-03-28 19:53:32 1588

转载 Git详解之三 Git分支

Git 分支几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间。有人把 Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来。Git 有何特别之处呢?Git 的分支可谓是

2014-03-28 15:58:05 1044

转载 ios nil、NULL和NSNull 的使用

nil用来给对象赋值(Objective-C中的任何对象都属于id类型),NULL则给任何指针赋值,NULL和nil不能互换,nil用于类指针赋值(在Objective-C中类是一个对象,是类的meta-class的实例), 而NSNull则用于集合操作,虽然它们表示的都是空值,但使用的场合完全不同。示例如下:id object = nil;  // 判断对象不为空  

2014-03-28 13:28:39 1050

转载 Git使用基础篇

Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理,第二篇重点介绍 Git的使用技巧,最后会在Git Hub上创建一个开源项目开启你的Git实战之旅1、Git是什么   

2014-03-27 18:19:13 995

转载 IOS单例模式及单例模式的优缺点

单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。#import @interface Singleton : NSObject +(Singleton *) getInstance;@end @implementation Singleton+(Singleton *)

2014-03-24 19:41:56 1496

转载 xml文件格式如下

xml文件格式如下:                                 localhost             sa                                         jiayuan                     读取节点中的一个属性           XmlDocu

2014-03-21 16:42:37 1047

转载 delegate为什么用ASSIGN 而不是retain

问:为什么很多内置类如UITableViewController的delegate属性都是assign而不是retain的?答:会引起循环引用。这里delegate我们只是想得到实现了它delegate方法的对象,然后拿到这个对象的指针就可以了,我们不期望去改变它或者做别的什么操作,所以我们只要用assign拿到它的指针就可以了。而用retain的话,计数器加1。我们有可能在别的地方期望释

2014-03-21 16:27:37 1069

转载 ios开发:多个Section的TableView

开发多个Section的tableView。首先应该考虑到数据源该如何得到我们这里可以通过两种方式:第一种是读取plist文件。第二种是通过代码进行数据存储以及读取。多个Section需要的数据源是一个字典,字典里的内容是一个数组。在plist文件中可以这样去创建在.h文件中定义一个字典,一个数组在.m文件的viewDidLoad函数中:

2014-03-21 16:13:19 1786

转载 苹果推送通知办事教程 Apple Push&nb

原文地址:Apple Push Notification Services Tutorial" style="text-decoration:none; color:rgb(82,102,115)">(转)苹果推送通知办事教程 Apple Push Notification Services Tutorial作者:浪友dans苹果推送通知办事教程 Apple Push Noti

2014-03-17 12:19:10 2189

转载 contentSize、contentInset和contentOffset区别

这几个都是在ios程序中,经常会注意到的一些小细节,能否真正了解这些,对写ios程序也有很大的好处。frame 是UIView中表示此view的一个矩形面积,包括了view在它的superview中的一些几何上的标识。有起始坐标,也就是origin(CGPoint)和这个矩形面积的宽(width)和高(height)bounds 每个view,除了有对应它的superview的相关

2014-03-14 17:31:10 1661

转载 IOS文件路径处理方法

+ (NSString *)pathWithComponentsNSArray *)components根据components中的元素来构建路径.- (NSArray *)pathComponents解析路径,返回构成路径的各个部分.- (NSString *)lastPathComponent提取路径中的最后一个组成部分- (NSString *

2014-03-14 09:52:43 1652

转载 iOS绘图教程

Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。该框架可以用于基于路径的绘图、变换、颜色管理、脱屏渲染,模板、渐变、遮蔽、图像数据管理、图像的创建、遮罩以及PDF文档的创建、显示和分析。iOS支持两套图形API族:Core Graphics/QuartZ 2D 和OpenGL ES。Open

2014-03-13 17:15:27 1294

转载 [Objective-C]Class类型、class方法

Class类型   到目前为止,我们已经知道了对应于方法的SEL数据类型,和SEL同样在Objective-C里面我们不仅仅可以使用对应于方法的SEL,对于类在Objective-C也为我们准备了类似的机制,Class类型。当一个类被正确的编译过后,在这个编译成功的类里面,存在一个变量用于保存这个类的信息。我们可以通过一个普通的字符串取得 这个Class,也可以通过我们生成的对象取得这

2014-03-13 14:56:14 4370

转载 NSLocalizedString(二)

程序本地化是扩展应用市场的重要砝码.iOS提供了简便的方法来实现本地化,其中用的最多的就是NSLocalizedString.首先查看下NSLocalizedString是什么:#define NSLocalizedString(key, comment) \ [[NSBundle mainBundle] localizedStringForKey:(key) va

2014-03-13 10:33:23 1056

转载 [iOS]给上拉下拉刷新PullToRefresh做本地化 (一)

NOV 04相信很多小朋友都做过下拉刷新,上拉加载更多,或者是点一下加载更多吧,我在几个项目中都用到了上拉下拉刷新,用的是[EGOTableViewPullRefresh],是我觉得同样给力的EGOCache同一个作者的作品。这份代码有两年没更新了,惊奇的发现Commit记录在两天前有点动静,不过它确实挺好用,只是没有支持Block:使用方法很简单,这里就不说了,今天的需求是要把提

2014-03-13 10:28:00 1213

转载 ARC指南1 - strong和weak指针

提示:本文中所说的"实例变量"即是"成员变量","局部变量"即是"本地变量"一、简介ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切注意:ARC 是编译器特性,而不是 iOS 运行时特性(除了weak指针

2014-03-13 10:20:53 746

转载 应用程序本地化

一、简介  * 使用本地化功能,可以轻松地将应用程序翻译成多种语言,甚至可以翻译成同一语言的多种方言  * 如果要添加本地化功能,需要为每种支持的语言创建一个子目录,称为”本地化文件夹”,通常使用.lproj作为拓展名  * 当本地化的应用程序需要载入某一资源时,如图像、属性列表、nib文件,应用程序会检查用户的语言和地区,并查找相匹配的本地化文件夹。如果找到了相应的文

2014-03-13 10:17:54 794

转载 Core Data入门

简介  Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,不过功能肯定是没有Hibernate强大的。简单地用下图描述下它的作用:

2014-03-12 16:33:21 696

转载 ARC指南2 - ARC的开启和禁止

要想将非ARC的代码转换为ARC的代码,大概有2种方式:1.使用Xcode的自动转换工具2.手动设置某些文件支持ARC一、Xcode的自动转换工具Xcode带了一个自动转换工具,可以将旧的源代码转成ARC模式1.ARC是LLVM 3.0编译器的特性,而现有工程可能使用老的GCC 4.2或LLVM-GCC编译器,因此首先需要设置使用LL

2014-03-12 16:21:20 748

转载 ARC指南3 - @property

本章介绍引入ARC后@property的使用,跟ARC之前的还是很不一样的一、.h和.m文件的变化说明1.对于.h头文件,主要是将属性定义由retain变为strong[java] view plaincopy@property (retain, nonatomic)  变为

2014-03-12 16:18:02 791

转载 多线程编程2 - NSOperation

一、NSOperation1.简介NSOperation实例封装了需要执行的操作和执行操作所需的数据,并且能够以并发或非并发的方式执行这个操作。NSOperation本身是抽象基类,因此必须使用它的子类,使用NSOperation子类的方式有2种:1> Foundation框架提供了两个具体子类直接供我们使用:NSInvocationOperation和NS

2014-03-12 16:08:16 620

转载 多线程编程4 - GCD

一、简介在iOS所有实现多线程的方案中,GCD应该是最有魅力的,因为GCD本身是苹果公司为多核的并行运算提出的解决方案。GCD在工作时会自动利用更多的处理器核心,以充分利用更强大的机器。GCD是Grand Central Dispatch的简称,它是基于C语言的。如果使用GCD,完全由系统管理线程,我们不需要编写线程代码。只需定义想要执行的任务,然后添加到适当的调度队列(dispatc

2014-03-12 16:02:51 743

转载 多线程编程3 - NSOperationQueue

一、简介一个NSOperation对象可以通过调用start方法来执行任务,默认是同步执行的。也可以将NSOperation添加到一个NSOperationQueue(操作队列)中去执行,而且是异步执行的。创建一个操作队列:[java] view plaincopyNSOperationQueue *queue = [[N

2014-03-12 16:00:16 805

转载 一、第一个cocos2d程序

简介  我们这个专题要学习的是一款iOS平台的2D游戏引擎cocos2d,严格来说叫做cocos2d-iphone,因为cocos2d有很多个版本,我们学习的是iphone版本的。既然是个游戏引擎,那么它肯定是为了方便游戏开发而设计的。使用了cocos2d,你可以编写极少量的代码就做出非常cool的游戏,节省你的开发周期。当然,要想出一个大作,还必须下苦工。在iOS平台的游戏引擎还不止

2014-03-12 15:56:57 1288

转载 二、cocos2d文档的使用

在使用cocos2d进行游戏开发的过程中,难免要查阅cocos2d的API文档,搞清楚怎么使用某个类或者某个方法。幸运的是,cocos2d的作者已经在源代码里面添加了文档注释,我们只需要使用文档生成工具解析源代码生成文档即可。最常用的文档生成工具是Doxygen。  用Doxygen处理cocos2d文档有2种方式:第1种方式:安装Doxygen软件,解析cocos2d源代码,

2014-03-12 15:53:29 1121

转载 三、第一个cocos2d程序的代码分析

在第一讲中已经新建了第一个cocos2d程序,运行效果如下:在这讲中我们来分析下里面的代码,了解cocos2d的工作原理,看看屏幕上的这个"Hello World"是如何显示出来的。这是HelloWorld项目的代码结构:下面,我们开始分析项目中的这些源文件:从程序的入口点开始这么多源文件在这里,究竟先看哪个呢?有些人可能

2014-03-12 15:50:38 975

转载 五、CCNode

本将主要介绍下CCNode这个类,CCNode是所有节点的基类,其中包括我们常用的CCScene(场景)、CCLayer(图层)、CCSprite(精灵)等,它是一个不能够可视化显示的抽象类,只是用来定义所有节点的公共属性和方法的。本讲纯粹是理论。首先来看看CCNode的继承结构图,只列举了常用的类节点的处理1.创建一个新的节点

2014-03-12 15:47:03 1068

转载 六、CCLayer

一个游戏中可以有很多个场景,每个场景里面又可能包含有多个图层,这里的图层一般就是CCLayer对象。CCLayer本身几乎没什么功能,对比CCNode,CCLayer可用于接收触摸和加速计输入。其实,cocos2d对图层并没有严格的要求,图层不一定要使用CCLayer类,它也可以是一个简单的CCNode,为什么呢?我们新建一个图层不就是为了能够容纳更多的子节点么,CCNode也可以添加子节点啊。所

2014-03-12 15:44:20 1071

转载 七、CCScene

CCScene一般情况是游戏里面的根节点,称之为"场景",运行游戏时需要通过CCDirector启动第一个场景。当然,游戏稍微复杂一点的话,可能会包含很多个场景,这就涉及到场景的切换,也是通过CCDirector来完成。CCScene是个抽象的概念,也没有可视化显示的功能,对比CCNode,CCScene基本上没有额外的代码:[java] view plaincop

2014-03-12 15:40:51 1219

转载 四、CCSprite

在介绍CCSprite之前,先要理解游戏开发中的一个核心概念:精灵。精灵也称为游戏对象,它可以用来表示游戏中的任何物体,比如敌人、子弹、甚至是一个背景图片、一段文字。CCSprite可以说是在cocos2d中最常用的一个类,可以称之为"精灵类",它能够以图片的形式将精灵显示到屏幕上。创建精灵在谈怎么创建一个精灵之前,先了解下游戏开发中另一个核心概念:纹理。纹理其实就

2014-03-12 15:37:46 1035

转载 八、CCMenu和CCMenuItem

游戏中经常会提供一些菜单项让用户开始游戏、暂停\继续游戏、打开\关闭音乐或者是返回到上一个界面,比如下面两张图中用红色线框标记的菜单项   我们可以使用CCMenu和CCMenuItem实现上述的菜单功能,CCMenu继承自CCLayer,只能添加CCMenuItem为子节点。一个CCMenuItem就可以表示一个菜单项。CCMenuItem继承自CCNode,来看下它

2014-03-12 15:34:22 943

转载 九、CCAction

之前介绍CCNode的时候说过,动作是指在特定时间内完成移动、缩放、旋转等操作的行为,节点可以通过运行动作来实现动画效果,这里的动作就是指CCAction对象,它有很多的子类,每个子类都封装了不同的动作效果。先来看看CCAction的继承结构图这里我省略了瞬时动作(CCActionInstant)和间隔动作(CCActionInterval)的子类,因为它们又包含了非常

2014-03-12 15:29:15 985

转载 loadView、viewDidLoad及viewDidUnload的关系

标题中所说的3个方法,都是UIViewController的方法,跟UIViewController的view属性的生命周期息息相关。接下来我会一一阐述它们的作用以及它们之间的联系。loadView1.什么时候被调用?每次访问UIViewController的view(比如controller.view、self.view)而且view为nil,loadView方法就会

2014-03-12 15:21:15 749

转载 让UIWebView弹出键盘上的按钮显示中文

UIWebView是一个很常用的视图,一般用来加载网页,比如百度:点击文本框输入框后,会弹出一个带有toolbar的键盘,toolbar中有3个辅助按钮有了这3个按钮,是方便很多,但默认是英文的,有时我们想把按钮文字变为中文其实办法很简单,只需要让你的应用程序支持中文本地化,意思是在项目中新建一个中文的本地化文件夹zh-Hans.

2014-03-12 15:17:33 983

转载 Mac环境下svn的使用

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。我们首先来看下,如何在Mac环境下搭建svn服务器端环境。创建代码仓库,用来存储客户端所上传的代码我先在/User/apple目录下新建一个svn目录,以后

2014-03-12 15:13:05 617

转载 开发中常见问题集锦

这篇文章是专门用来记录开发中一些常见的BUG以及常用的零碎知识点,我会隔一段时间更新内容1.重复调用2次loadView和viewDidLoad最好不要在UIViewController的loadView方法中改变状态栏的可视性(比如状态栏由显示变为隐藏、或者由隐藏变为显示),因为会导致重复调用2次loadView和viewDidLoad方法假设状态栏本来是处于显示状态

2014-03-12 15:08:22 731

转载 iOS完整学习路线图

今晚特地花时间整理出了iOS的完整学习路线图,希望对大家有帮助转载地址:点击打开链接

2014-03-12 14:39:07 994

转载 iOS图片拉伸技巧

纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能、极强的用户体验、华丽简洁的外观。华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑。比如下面张图片,本来是设计来做按钮背景的: button.png,尺寸为:24x60现在我们把它用作为按钮背景,按钮尺寸是15

2014-03-12 14:31:40 831

绘图板 写字板

这是一个简单的绘图板demo主要是根据IOS疯狂讲义这本书上的代码来实现的,中间有一些自己的改动

2015-11-12

DrawGraphicDemo

这个demo主要是是实现了实线,和虚线的绘制,结合博客文章,方便大家的理解

2015-09-30

OCHamcrestIOS

OCHamcrestIOSframework 的源文件,自己将OCHamcrest 这个开源库,分离出来新建了一个iOS的framework,我新建的时候操作系统选择的是9.0,大家用的话可以选择低一点的版本。

2015-09-29

OCHamcrest单元测试demo

这主要是一个OCHamcrest单元测试的demo,里面有自已生成的通用的OCHamcrest framework

2015-09-29

GHUnitTestDemo.zip

这个主要是看IOS测试指南这本书的时候,学习时将GHUnitFramwork引入项目中进行的一个简单的测试。感兴趣的朋友可以参考下

2015-09-21

IOS测试指南

这本书主要是一本IOS测试的书,里面详细的讲了iOS 测试的一些方法还有一些测试工具,无论对于测试人员还是开发人员都有很大的帮助。

2015-09-16

自定义IndicatorView

自己封装了一个IndicatorView的库文件,再也不用看到那些单调的系统的IndicatorView了,省去了自己编辑的麻烦

2015-08-11

js改变css样式

这个demo主要实现了通过页面js事件,来改变页面的字体颜色, 背景颜色,

2015-04-30

php开发之ajax异步请求

这个主要是实现了自动刷新,异步请求,而且还能用于局部刷新,自动验证这一块

2015-04-30

php开发之ajax

这个demo主要实现了通过js利用Ajax,get方法传递参数到php页面

2015-04-28

xmpp获取好友列表,实现文字聊天

这个demo主要实现了获取好友列表,好友的添加,好友之间的文字聊天。

2015-04-23

UIWebView与 javascript的交互三

这个demo主要实现了OC页面传值到js页面,并修改html 页面的值,同时实现了html 页面的数据传递到 OC页面,很经典的哦

2015-04-23

UIWebView与 javascript的交互二

这个事UIwebView与js交互的第二个demo,实现了通过html页面上的事件,传递数据到OC页面。感觉挺有代表性的,感兴趣的话,可以下载看看哦

2015-04-22

UIWebView与 javascript的交互

一个简单的demo实现了对html页面上简单事件的响应,但是没有实现获取输入的值

2015-04-21

javaScript从入门到精通

javascript的入门书籍,适合没有基础的同学们看看哦。我看了一遍还可以,入门足够了

2015-04-21

RadioButton

多选一的按钮,例如男女选择的问题,可以更换背景图片等,具体的要根据自己的需求去改吧。还能默认选择,很简单的一个小工具类

2015-03-23

XMPP登录demo

这个demo主要实现了IOS客户端在本机的服务器下登录,服务器是ejabberd-14.12

2015-03-18

小乌龟SVN可视化工具

很好用的一款可视化svn工具,进行版本控制时可以用的

2015-03-13

coreDataDemo

写了一个coredata的工具类,简单实现了coredata的插入,删除,查询,修改

2015-02-09

KVO实现的demo

这是一个小的KVO的demo实现的kvo的效果,对于初学kvo的朋友有一些帮助

2015-02-07

WKWebView优先加载本地资源文件

实现了WKWebView网络请求拦截,并下载静态资源文件,加载时优先通过本地资源文件进行加载

2018-02-28

MantleTestDemo

这个demo主要是通过单元测试来验证MTLModel hash方法的漏洞的,里面有详细的解决方案。

2017-08-20

JSPatchFixDemo

JSPatch修复的demo,感兴趣的可以看看哦, 博客地址:http://blog.csdn.net/hanhailong18/article/details/58585147

2017-02-28

VCJumpDemo

这个主要是自己整理的通过runtime实现的没有头文件也可以实现页面跳转,可以带参数(用户自定义对象也可以)

2016-10-28

计步器demo

简单实现了iOS的计步器功能,能够实时统计用户走了多少步。可以开启,和关闭该功能,哪里有做的不好的大家可以和我留言哦

2016-05-29

iOS测试指南完整版

这个iOS测试指南的完整版电子书,感兴趣的朋友可以下载看看哦,挺好用的,对自己的帮助挺大的

2016-05-05

RSA加密解密Demo

这是一个RSA加密解密的demo,大家感兴趣的话可以看看,相互交流哦,另外里面的公钥,私钥,我删除了,大家可以根据我博客里的文章自己生成哦

2016-05-04

RSA加密解密

这里,我整理了一个iOS的RSA加密,解密的demo,希望大家和大家一块进步272

2016-05-04

触动人心设计优秀的IPHONE应用

这本书主要讲了如何让自己的app触动人心,让自己的app获得的大众的喜欢

2016-02-22

Jack3DScrollDemo

这个是在别人demo的基础上重新研究,修改实现这个效果的,主要实现了滚轮效果,颜色渐变,通常用来做item的选择 博客地址http://blog.csdn.net/hanhailong18/article/details/50408066 里面有核心代码的分析。

2015-12-26

NPCgoPockerFrameWork_NoBug

这个是修复后的框架,原来的框架有点bug。现在已经改好了,原来的删不掉了,望见谅,博客地址:http://blog.csdn.net/hanhailong18/article/details/50294711

2015-12-25

JackScrollPlayerDemo1

最近闲来无事,刚好自己封装了一个轮播的demo,可以实现设置时间间隔,是否轮播,是否显示indicator等,使用的时候直接设置参数就可以了,再也不用那么的麻烦了。博客地址:http://blog.csdn.net/hanhailong18/article/details/50401728

2015-12-25

JackScrollPlayerDemo

自己封装的一个轮播的demo,可以设置轮播的时间间隔,是否可以自动播放,,是否显示indicatior等,以后用的话,可以直接拿把文件拿来用就好了,非常省事的。博客地址http://blog.csdn.net/hanhailong18/article/details/50401728 ,这里面有自己制作时的思路,可以帮助大家理解

2015-12-25

runtimedemo

这个demo主要是利用runtime的方法替换,来实现避免重复点击时重复触发方法的问题自己可以根据时间来设置间隔的时间的长短

2015-12-23

bianseziti

这个代码主要实现了,颜色在字体上一闪而逝的效果,很湿炫酷呢,刚兴趣的小伙伴可以下载看看哦

2015-12-14

蘑菇街框架

这里自己琢磨实现了蘑菇街的框架,思路很清晰,比较容易理解,效果是一样的,大家感兴趣的话,可以下载看看,

2015-12-14

抛金币效果

这个是一个金币抛入福袋的动画效果,当然也可以用来制作电商上的物品抛入购物车的效果

2015-12-09

CAAnimation

这个demo主要实现了,单个动画的移动,缩放,翻转,以及将这些动画组合起来的效果

2015-12-08

Core Image

这个demo是IOS疯狂讲义上 里面coreImagetest的demo修改后的代码,可以参考一下原来的代码,理解思考一下

2015-12-02

雪花飘飘 坐标变换

这个是看IOS疯狂讲义上,这本书时看到雪花飘飘这个效果,就按书中 的代码实现了一下,但是发现和书中的效果有点不太一样,哪位感兴趣的话,可以一块交流哦

2015-11-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除