摘要:在iOS开发中,我们会发现一些偏底层或基础代码是直接可以复用的,当我们换一个项目,改变的只需要是偏上层的业务逻辑代码,所以我们可以把这部分基础代码制作为一个静态库static library,并不断扩展,这样我们重新开发一个新项目,就可以直接引进这个静态库,再添加上层的业务逻辑代码即可,会大大提高我们开发的效率。下面以一个例子说明制作静态库和相关导入的必须操作。假设这个静态库为Commom,新工程为Example。首先,新建一个静态库,如图:点完成后就可以生成一个静态库了。然后把需要添加的基础代码添加就可。然后我们像平时一样建立的工程Example,把Commom.xcodeproj工程直接拖
阅读全文
摘要:首先先简单介绍一下gif的几个算是术语吧:frame(帧):一个gif可以简单认为是多张image组成的动画,一帧就是其中一张图片image.frameCount(帧数): 就是一个gif有多少帧loopCount(播放次数):有些gif播放到一定次数就停止了,如果为0就代表gif一直循环播放。delayTime(延迟时间):每一帧播放的时间,也就是说这帧显示到delayTime就转到下一帧。所以gif播放主要就是把每一帧image解析出来,然后每一帧显示它对应的delaytime,然后再显示下一张。如此循环下去。下面是纯粹实现由系统提供的解码:-(void)decodeWithFilePat
阅读全文
摘要:KVC,即Key-Value Coding,键值编码,简单地说,就是可以由key获取一个object对应的property。举个例子,如果一个对象object,它有一个属性item,你可以通过valueForKey也可以通过object.item来获取它,同时它支持纵调用,即假如object有个属性是个item,item有个属性score,可以通过@“item.score”获取,setValueForKey同理。 CGFloat valueScore,score,valueTotal,total; TestObject *object = [[TestObject alloc] in...
阅读全文