- 博客(17)
- 资源 (1)
- 收藏
- 关注

原创 思念大学
去年今日今时月,同照你我苍白身。今年今日今时月,不见天涯万里人。他年今日同相见 ,月光长照酒杯中,一喝黄河八百里,二喝长江九曲湾。但愿长醉不复醒,梦中犹醉见杜康。杜康问我有何事,是否有酒共一杯。
2015-03-06 15:56:34
647
原创 IOS开发判断是否第一次使用软件且下次app自动更新后再次打开还是第一次使用
对于用户来讲,在第一次打开软件的时候,最好有个引导页,告诉用户软件怎么使用,或者本次软件的主要的更新在哪儿,提高用户的软件体验。下面有有两种方法1.本地存储一个bool变量判断是不是第一次启动,若是第一次启动就打开引导页。2.本地存储版本号,判断当前版本号是否大于本地保存的版本号,如果大于则启动引导页。那么这两种那个好呢,显然第二种较好,因为第一种方法,若是版本升级的时候,我们往往
2015-08-10 16:32:45
2859
原创 Xcode升级后插件失败解决方法
大家都知道每次升级Xcode 然后插件都不能用了,最根本的原因是每个插件都有个Info.plist文件,这个文件中有个key-DVTPlugInCompatibilityUUIDs记录了可以使用该插件的Xcode的UDID,因此每次升级Xcode,Xcode的UDID都会变 ,所以升级后的Xcode就使用不了原来的插件了.因此只要我们更改每个插件的Info.plist中DVTPlugInC
2015-07-16 11:53:15
1058
原创 选择排序
int main(int argc,const char * argv[]){ int a[10]; /* 选择 (从小到大排序) int a[5] = {5,4,3,2,1}; //依次拿数组的每一个元素和后面的元素依次进行比较,把大的放后面(如果前面的元素大那么就和后面的进行交换); a[0] a[1] a[2]
2015-03-25 09:50:35
445
原创 交换排序(冒泡排序)
int main(int argc,const char * argv[]){/* 冒泡 (从小到大排序) int a[5] = {5,4,3,2,1}; //始终从第一个元素开始依次拿相邻的两个数进行比较,把大的放后面(如果前面的元素大那么就和后面的进行交换); a[0] a[1] a[2] a[3] a[4] 5 4 3
2015-03-25 09:47:00
566
原创 查看静态库文件支持的指令集架构的方法
例如 现在 查看libogg.a支持的指令集 以管理员的身份在终端下进入libogg.a库文件所在目录,执行lipo -info ibogg.a如下localhost:~ developer$ cd desktoplocalhost:desktop developer$ cd SpeexRecord localhost:SpeexRecord developer$
2015-03-13 11:20:14
3186
原创 函数指针和block的区别
/// main.m// C_函数指针// Created by dengyanzhou on 15/3/11.// Copyright (c) 2015年 mobby. All rights reserved.///* *方法名称就是方法在内存的入口地址 */int add(int add1,int add2){ return a
2015-03-11 19:36:11
986
原创 一段判断iPhone的代码
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
2015-03-10 14:59:54
476
转载 IOS_月薪10k以上知识大总结
[objc] view plaincopy1获取系统语言设置 NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSArray *languages = [userDefault objectForKey:@"AppleLanguages"];
2015-03-10 14:08:08
1325
转载 iOS的release和debug有什么区别
Release是发行版本,比Debug版本有一些优化,文件比Debug文件小 Debug是调试版本,Debug和Release调用两个不同的底层库。一、"Debug是调试版本,包括的程序信息更多"二、只有DEBUG版的程序才能设置断点、单步执行、使用TRACE/ASSERT等调试输出语句。三、REALEASE不包含任何调试信息,所以体积小、运行速度快。
2015-03-10 14:04:54
686
原创 ios 转场动画
首先要名白什么是转场,转场就是每个段落(构成电视片的最小单位是镜头,一个个镜头连接在一起形成的镜头序列)都具有某个单一的、相对完整的意思,如表现一个动作过程,表现一种相关关系,表现一种含义等等。它是电视片中一个完整的叙事层次,就像戏剧中的幕,小说中的章节一样,一个个段落连接在一起,就形成了完整的电视片。因此,段落是电视片最基本的结构形式,电视片在内容上的结构层次是通过段落表现出来的。而段落与段落、
2015-03-06 19:40:58
893
原创 模仿微信更改头像,图片局部放大
模仿微信更改头像,图片局部放大,模仿代码如下//// ViewController.m// 截取图片的任一部分//// Created by dengyanzhou on 15/2/2.// Copyright (c) 2015年 mobby. All rights reserved.//#import "ViewController.h"
2015-03-06 19:22:19
1867
原创 模仿网易新闻模糊化视图
苹果在2013年的wwdc2013上发布一个关于UIImage重要类别—— UIImage+ImageEffects.h此类别重要的作用就是模糊化图片,例如网易新闻客户端当侧边栏从左边逐渐移动出来时 下面的视图逐渐模糊 个人认为该功能主要是引用了 UIImage+ImageEffects中模糊化图片的功能先模仿如下在 AppDelegate 中实例化 一个视图控制器
2015-03-06 18:11:58
684
原创 ios获取缓存文件的大小,实现缓的清理功能
移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage。但是,离线缓存会占用手机存储空间,所以缓存清理功能基本成为资讯、购物、阅读类app的标配功能。今天介绍的离线缓存功能的实现,主要分为缓存文件大小的获取、删除缓存文件的实现。获取缓存文件的大小由于缓存文件存在沙箱中,我们可以通过NSFileManager AP
2015-03-06 16:04:09
689
原创 如何随机打乱一个数组
我们大家都知道给定一个无序的数组排序 有很多算法 像 插入排序 选择排序 交换排序 归并排序 基数排序等等.那么如何随机打乱一个数组呢?基本思想就是数组的第i个元素和后面的从i+1到n-1中的随机一个元素交换.算法实现:声明一个类别NSMutableArray+Shuffling//// NSMutableArray+Shuffling.h// 随机打乱一个
2015-03-06 12:36:18
1033
原创 利用CADisplayLink播放帧动画
UIImageView有个animationImages 属性可以逐帧播放动画 模仿UIImageView这个属性,利用CADisplayLink播放帧动画。一、简介(原文地址:http://www.tuicool.com/articles/meMVR3)1、所在框架CADisplayLink和其它CoreAnimation类一样,都是在QuartzCo
2015-03-06 11:36:46
844
原创 关于Build Active Architecture Only属性
Build Active Architecture Only这个属性,设置为NO时,我知道会编译多个版本,不过打出来的包会大不少。这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前设备的architecture版本。而设置为no时,会编译所有的版本。这个是正对当前设备对应的architecture:armv6:iP
2015-03-06 11:05:52
538
xmpp学习心得
2015-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人