自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (4)
  • 收藏
  • 关注

原创 iOS安装包瘦身

摘自头条前言一、资源文件优化资源文件优化思路较多,风险也相对较小。由于app内有优化空间的资源主要为图片,故本文中“资源”与“图片”可认为是等价词汇。排查和清除冗余图片删除重复的资源图片压缩将图片放置到云端1.1 排查和清除冗余图片整个排查和清除冗余图片可以分为三个方向:(1)常规的冗余图片清理随着业务迭代,有不少图片成为了永远也不会使用到的僵尸图片。这些图片往往占据着较...

2018-12-12 11:13:52 273

原创 FFmpeg(一)编译iOS静态库

第一步:下载gas-preprocessor1.1 下载 https://github.com/libav/gas-preprocessor1.2 拷贝 gas-preprocessor.pl 到 /usr/sbin 目录,命令为:cp -R gas-preprocessor.pl /usr/local/bin1.3 修改 gas-preprocessor.pl 文件权限,命令为:ch...

2018-08-30 12:21:05 626

原创 CAEmitterLayer

// 创建出Layer CAEmitterLayer *emitterLayer = [CAEmitterLayer layer]; // 显示边框 emitterLayer.borderWidth = 1.f; // 给定尺寸 emitterLayer.frame = CGRectMake(100, 100, 100, 100); // 发射点 e

2016-12-06 15:17:46 329

转载 Action的3种实现方式

做笔记1. 定义一个pojo类好处:定义一个普通的java类即可 不具有侵入性 public class helloAction { public String execute() { System.out.println("ok ok"); return "success"; }}2. 实现action接口好处:使得我

2016-11-18 09:25:59 827

原创 struct.xml 配置文件

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><!-- 配置根元素 -->

2016-11-11 13:52:20 1682

原创 XML解析

1.XML文件<?xml version="1.0" encoding="UTF-8"?><Languages cat="it"> <lan id="1"> <name>Java</name> <ide>Eclipse</ide> </lan> <lan id="2"> <name>Swift</name> <i

2016-11-09 11:42:06 227

转载 Class.forName()用法详解

转载:http://blog.csdn.net/kaiwii/article/details/7405761 主要功能 Class.forName(xxx.xx.xx)返回的是一个类 Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类, 也就是说JVM会执行该类的静态代码段 下面,通过解答以下三个问题的来详细讲解下Class.forName()的用法。

2016-11-06 19:07:13 356

转载 Web.xml配置详解

http://www.cnblogs.com/chinafine/archive/2010/09/02/1815980.html做记录,怕忘了1 定义头和根元素  部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。 DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理

2016-11-05 19:36:11 168

原创 图片模糊

UIImage, CGImageRef, CIImage区别http://www.jianshu.com/p/aa2557d977ba1. CoreImage图片模糊 UIImage *image = [UIImage imageNamed:@"sj_choujiangBG.jpg"]; /** 模糊处理 coreImage **/ // 输入图片 CIImage *inpu

2016-10-26 14:57:18 223

转载 App Store审核条款更新:WWDC 2016重写版本

WWDC2016大会之后,苹果公司发布了四个全新平台:iOS,macOS,watchOS和tvOS。并且在此之后,苹果应用商店审核条款也同时进行了更新——貌似不算进行了更新,简直就是重写!上个版本的30个章节被修改成了5大章节,但原版英文版字数从5000多个英文单词增加到了6000多个英文单词。V2016.6.13 wwdc 2016 special 目录 苹果应用商店审核条款 AppStor

2016-08-05 16:34:17 712

原创 啊哈算法Demo

根据《啊哈算法》书籍,自己跟着敲的Demo,慢慢的添加,当做记录。//// main.c// ahasuanfa//// Created by pacino on 16/7/22.// Copyright © 2016年 pacino. All rights reserved.//#include <stdio.h>#include <string.h>#include <s

2016-08-01 17:01:20 1089

转载 WKWebView

WKWebView 是IOS8新增的 Web 浏览视图,因而都是对比UIWebView !!WKWebView新特性在性能、稳定性、功能方面有很大提升(占有内存比WebView小, 缺点:不支持缓存和NSURLProtocol);允许JavaScript的Nitro库加载并使用(UIWebView中限制); 支持了更多的HTML5特性;高达60fps的滚动刷新率以及内置手势;增加estima

2016-07-04 16:12:24 393

原创 屏幕旋转

原理:把window窗口旋转项目需求:首页不横屏 从首页进入下一个控制器是一个播放界面,用于播放视频,该界面会自动旋转屏幕,并且可以手动旋转屏幕,可以锁定屏幕。1.首先,我们需要一个全局变量,来标示是否允许旋转,可以在AppDelegate.h文件中 如下声明(info.plist文件里面旋转设置不用管)@property (nonatomic,assign)BOOL allowRotation;这

2016-06-28 09:07:33 333

原创 流媒体整理

下载本地播放必须全部将文件下载完成后才能播放渐进式下载(伪流媒体)不必等到全部下载完成后再播放,它可以一边下载一边播放,在完成播放内容之后,整个文件会保存在手机上。实时流媒体实时流媒体是一边接收数据包一边播放,本地不保留文件副本,实时流式传输总是实时传送,可以实时实况转播,支持随机访问,用户可以快进或者快退以观看前面或后面的内容。实时流媒体传输必须保证数据包的传输速度大于文件的播放速度,否则用户看到

2016-06-14 19:57:49 262

原创 iOS音频播放、录音、视频播放、拍照、视频录制

音频在iOS中音频播放从形式上可以分为音效播放和音乐播放。 前者主要指的是一些短音频播放,通常作为点缀音频,对于这类音频不需要进行进度、循环等控制。后者指的是一些较长的音频,通常是主音频,对于这些音频的播放通常需要进行精确的控制。 在iOS中播放两类音频分别使用AudioToolbox.framework和AVFoundation.framework来完成音效和音乐播放。音效AudioToolb

2016-06-13 21:51:44 579

原创 多线程

线程 是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。 每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程。每个线程都可以或不可以标记为一个守护程序。当某个线程中运行的代码创建一个新 Thread 对象时,该新线程的初始优先级被设定为创建线程的优先级,并且当且仅当创建线程是守护线程时,新线程才是守护程序。 当 Java 虚拟机启动时,通常都会有单个非守护线程(它通常

2016-06-11 11:21:26 305

原创 异常处理

是什么?是对问题的描述。将问题进行对象的封装。异常体系: Throwable |--Error |--Exception |--RuntimeException异常体系的特点:异常体系中的所有类以及建立的对象都具备可抛性。 也就是说可以被throw和throws关键字所操作。

2016-06-10 09:44:56 263

原创 内部类

内部类访问规则/*内部类的访问规则:1,内部类可以直接访问外部类中的成员,包括私有。 之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式 外部类名.this2,外部类要访问内部类,必须建立内部类对象。*/class Outer{ private int x = 3; class Inner//内部类 { //int

2016-06-09 14:54:26 274

原创 Java多态

/* * 在多态中成员函数的特点: 在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有编译失败。 * 在运行时期:参阅对象所属的类中是否有调用的方法。 简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。 * * * 在多态中,成员变量的特点: 无论编译和运行,都参考左

2016-06-09 14:27:34 229

原创 Reactive Cocoa

http://www.jianshu.com/p/87ef6720a096RACSiganl简单使用: // RACSignal使用步骤: // 1.创建信号 + (RACSignal *)createSignal:(RACDisposable * (^)(id<RACSubscriber> subscriber))didSubscribe // 2.订阅信号,才会激活信号

2016-05-23 17:56:33 307

原创 计算文件大小

CGFloat size = 0.0; // 找到需要计算大小文件夹的全路径 NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).lastObject; NSFileManager *manager = [NSFileManager

2016-05-13 14:17:49 568

原创 冒泡,选择,快速排序

// 冒泡void sopo(int *a, int count){ for (int i = 0; i < count; i++) { for (int j = 0; j < count - 1 - i; j++) { if (a[j] > a[j+ 1]) { a[j] ^= a[j+1];

2016-05-13 09:50:52 224

转载 const,static,extern简介

const,static,extern简介一、const与宏的区别(面试题):const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量。编译时刻:宏是预编译(编译之前处理),const是编译阶段。编译检查:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误。宏的好处:宏能定义一些函数,方法。 const不能。宏的坏处:使用

2016-05-09 17:30:38 215

原创 数据模型代码

/** * 自动生成解析数据的代码 */- (void)resolveDict:(NSDictionary *)dict{ NSMutableString *propertyString = [NSMutableString string]; [dict enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _No

2016-05-09 13:58:48 480

转载 NSString属性什么时候用copy,什么时候用strong?

转载:http://www.cocoachina.com/ios/20150512/11805.html我们在声明一个NSString属性时,对于其内存相关特性,通常有两种选择(基于ARC环境):strong与copy。那这两者有什么区别呢?什么时候该用strong,什么时候该用copy呢?让我们先来看个例子。示例我们定义一个类,并为其声明两个字符串属性,如下所示:@interface TestSt

2016-05-09 13:14:28 202

转载 runtime

runtime简介RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。事实证明:在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错。

2016-05-08 16:41:34 310

原创 IOS9新特性慢慢整理

iOS9新特性之关键字iOS9新出的关键字:用来修饰属性,或者方法的参数,方法的返回值好处:迎合swift提高我们开发人员开发规范,减少程序员之间交流注意: iOS9新出关键字nonnull,nullable,null_resettable,_Null_unspecified只能修饰对象,不能修饰基本数据类型/** 1. 首字母不带下滑线的修饰类名(eg. nullable)

2016-05-08 11:10:27 1432

转载 蓝牙(Bluetooth)

蓝牙GameKit简介:* 实现蓝牙设备之间的通讯* 只能使用在iOS设备之间同一个应用内连接* 从iOS7开始过期了* 但是GameKit是最基本的蓝牙通讯框架* 通过蓝牙可以实现文件的共享(仅限设备沙盒中的文件)* 此框架一般用于游戏开发(比如五子棋对战)开始案例简介:* 使用蓝牙将两个iOS设备连接起来* 搜索对方的设备* 实现将手机中的图片发送给对方蓝牙互连: // 初始化链接蓝牙控制

2016-05-07 18:42:55 1418

原创 react-native

1. 如何搭建开发环境(iOS)http://www.jianshu.com/p/ab07248f67412.

2016-05-06 11:33:12 212

原创 JS学习笔记

学习网站:http://www.runoob.com/js/js-tutorial.html为什么学习 JavaScript?JavaScript web 开发人员必须学习的 3 门语言中的一门: 1. HTML 定义了网页的内容 2. CSS 描述了网页的布局 3. JavaScript 网页的行为JavaScript 用法HTML 中的脚本必须位于 标签之间。 脚本可被放置在 HTML

2016-05-05 17:48:00 305

原创 AFNetworking慢慢整理

#import "AFURLRequestSerialization.h" #import "AFURLResponseSerialization.h" #import "AFSecurityPolicy.h" #import "AFNetworkReachabilityManager.h" #import "AFURLSessionManager.h" #imp

2016-04-29 14:17:28 265

原创 URLSession慢慢整理

NSURLSessionConfiguration三种工作模式:默认会话模式(default):工作模式类似于原来的NSURLConnection,使用的是基于磁盘缓存的持久化策略,使用用户keychain中保存的证书进行认证授权。瞬时会话模式(ephemeral):该模式不使用磁盘保存任何数据。所有和会话相关的caches,证书,cookies等都被保存在RAM中,因此当程序使会话无效,这些缓

2016-04-28 17:25:20 1707

原创 ios事件慢慢整理

事件分为三类:触控事件(单点、多点触控以及各种手势操作)传感器事件(重力、加速度传感器等)远程控制事件(远程遥控iOS设备多媒体播放等)在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象” UIApplication、UIViewController、UIView都继承自UIResponder,因此它们都是响应者对象,都能够

2016-04-27 16:17:18 213

原创 FMDB慢慢整理

来自: http://my.oschina.net/TaciturnKnightYQ/blog/617795一、FMDB架构图二、核心类FMDatabase一个FMDatabase对象就代表一个单独的SQLite数据库 用来执行SQL语句 FMDatabase这个类是线程不安全的,如果在多个线程中同时使用一个FMDatabase实例,会造成数据混乱等问题 为了保证线程安全,FMDB提供方便快捷

2016-04-27 14:43:58 387

原创 环信头文件整理

SDK采用模块化设计,每一模块的功能相对独立和完善,用户可以根据自己的需求选择使用下面的模块: EMClient是SDK的入口,主要完成登录,退出,连接管理等功能。也是获取其他模块的入口。 EMChatManager管理消息的收发,完成会话管理等功能。 EMContactManager负责好友的添加删除,黑名单的管理。 EMGroupManager负责群组的管理,创建,删除群组,管理群组

2016-04-22 22:11:20 2028

原创 PNChart简单学习

PNChart是一个简单漂亮的动画图表库头文件介绍/** * 所有头文件导入 */#import "PNChart.h"/** * 定义许多自定义颜色 */#import "PNColor.h"/** * 折线图 */#import "PNLineChart.h"#import "PNLineChartData.h"#import "PNLineChartDataIt

2016-04-19 15:10:55 468

原创 解释Array拷贝区别

解释Array拷贝区别copy返回不可变对象,mutablecopy返回可变对象 注意:容器内的元素内容都是指针复制。1. 不可变数组copy NSArray *array = [NSArray arrayWithObjects:@"a",@"b",@"c",nil]; NSArray *arrayCopy = [array copy]; //arrayCopy是和array

2016-04-15 11:27:29 505

原创 重写UICollectionLayout报错解决

报错Logging only once for UICollectionViewFlowLayout cache mismatched frame UICollectionViewFlowLayout has cached frame mismatch for index path <NSIndexPath: 0xc000000001c00016> {length = 2, path = 0 - 1

2016-04-15 10:06:52 760

原创 UICollectionViewFlowLayout备忘录

UICollectionView的结构回顾CollectionView的构成,我们能看到的有三个部分:CellsSupplementary Views 追加视图 (类似Header或者Footer)Decoration Views 装饰视图 (用作背景展示)由两个方面对UICollectionView进行支持: 1. 和tableView一样,即提供数据的UICollectionViewDat

2016-04-14 16:56:38 195

原创 git慢慢整理

一. 本地使用1.初始化初始化一个Git仓库,使用git init命令。2.添加文件到Git仓库,分两步:第一步,使用命令git add <

2016-04-14 15:20:55 286

图片轮播简单实现

只是用UICollectionView提供一个简单的思路,很简单。

2016-04-21

百度地图计算两地之间距离Demo

使用计算两地之间的实际路程Demo

2016-04-06

基于ssh的网上书店

该代码较为简单,只是实现了登陆注册购买书的功能

2014-04-19

简单struts2开发源代码(租房网)

整个项目,比较简单。

2013-12-18

空空如也

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

TA关注的人

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