自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 iOS UITextField限制字数

//进行文字的限制- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if (string.length == 0) { return YES; } NSI

2016-04-19 14:51:36 400

原创 FMDB基本使用

#import "PersonDBTool.h"#import @implementation PersonDBToolstatic FMDatabase *_dataBase;+ (void)initialize{ //1.创建数据,并且打开/连接到沙盒中的数据库 NSString *documentPath = [NSSearchPathForDirectori

2016-04-11 08:13:18 268

原创 ios 添加到购物车的动画

func addProductsAnimation(iamgeView : UIImageView) { //创建一个一模一样的涂层 let frame = iamgeView.convertRect(iamgeView.bounds, toView: self.view) let transitionLayer = CALayer()

2016-04-04 20:29:50 520

转载 IOS-- UIView中的坐标转换

// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;// 将像素point从view中转换到当前视图中,返回在当前视图中的像素值- (CGPoint)convertPoint:(CGPoint)point from

2016-04-04 19:28:43 246

原创 collectionview实现无限轮播

实现很简单:核心思想:建立三组相同cell,初始化的时候滑动到第1组的0,当滑动过程中超出第一组的范围,立刻无动画效果滑动到第一组对应的item上核心代码:利用scrollview的代理方法- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ //根据偏移量 计算出index 处于中间范围不操作 其

2016-03-23 23:17:19 614

原创 ios开发集成支付宝

1.官方的集成文档:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7386797.0.0.Esp29o&treeId=59&articleId=103563&docType=12.看到的一个写的比较好的文档:http://www.tuicool.com/articles/fiIBZjR3.简单流程:    (1)

2016-03-23 17:31:22 312

原创 sqlite系列(2)使用FMDB保存数据swift

1.创建一个数据库的工具类import UIKitimport FMDBclass XBDataManger: NSObject { //单例 static let shareInstance : XBDataManger = XBDataManger() //创建一个队列(线程安全的队列) var queue : FMDatabaseQueue?

2016-03-23 11:51:50 450

原创 sqlite保存数据模型

今天保存数据用到了sqlite,简单的使用了下外部接口:public@interface XBSQLiteTools : NSObject//保存数据+ (void)saveDataWithContact:(XBContact *)contact;//取数据+ (NSArray *)contactList;//根据sql取得数据+ (NSArray *)contactL

2016-03-22 23:43:36 786

原创 swift网络工具类

import UIKitimport AFNetworkingimport SVProgressHUDenum RequestType :Int{ case GET = 0 case POST = 1}class XBNetworkTool: AFHTTPSessionManager { static let sharedNetworkTool = X

2016-03-21 17:24:35 461

原创 GCD2:常用用法

1.一次性执行(单例)+(SingletonExample *)sharedInstance{ static SingletonExample *sharedSingleton = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken,^(void) { sharedSingleton = [[

2016-03-17 19:26:28 381

原创 插入排序c递归实现和非递归实现

1.特点  :在部分有序的情况下,插入排序效率很高,和选择排序 不一样的是,排序的效率受输入序列的影响很大            平均时间复杂度O(n^2)       最好情况下  O(n)     最坏情况下O(^2)2.代码实现   迭代的方式实现  void insertSort(int a[],int N){ if(a==NULL)return ; in

2016-03-16 15:20:10 623

原创 选择排序c语言实现

1.选择排序思想  :扫描N次  ,从左到右去扫描,每次找出其中的最大(降序)和最小(升序)的元素,然后去交换位置 2.特点: 不会根据输入序列而影响排序的交换和比较的次数        所以   时间复杂度O(N^2)     最好情况下  O(N^2)     最坏情况下    O(N^2)    3.举例           随机序列   4,2,3,5,1 

2016-03-16 14:54:44 310

转载 设置UIImage的渲染模式:UIImage.renderingMode

设置UIImage的渲染模式:UIImage.renderingMode着色(Tint Color)是iOS7界面中的一个.设置UIImage的渲染模式:UIImage.renderingMode重大改变,你可以设置一个UIImage在渲染时是否使用当前视图的Tint Color。UIImage新增了一个只读属性:renderingMode,对应的还有一个新增方法:imageWithR

2016-03-14 15:54:55 210

原创 textView表情代码相关

@objc private func setEmotion(noti : NSNotification) { let emotion = noti.userInfo!["emotion"] as! XBEmotion if let png = emotion.png { //保存之前的内容

2016-03-11 17:13:04 263

原创 同一labeltext设置不同的属性

NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:title]; [attributeString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSiz

2016-03-09 11:53:26 308

原创 ios时间获取刚刚几分钟几秒钟几小时之前

今天开发中遇到刚刚几分钟几秒钟几小时,写了下函数- (NSString *)getTime:(NSString *)timeSource{ //Tue Mar 08 13:14:45 +0800 2016 服务端获取时间的格式是这样的 NSDateFormatter *form = [[NSDateFormatter alloc] init]; //设置时区

2016-03-08 16:07:47 2074

原创 底部视图跟随键盘移动(通知)

***重要的是时间点  两个通知很容易造成时间点不对              UIKeyboardWillChangeFrameNotification    UIKeyboardDidChangeFrameNotification一个是改变完成  另一个是即将改变添加通知 NSNotificationCenter.defaultCenter().addObser

2016-03-07 23:22:23 267

转载 UIViewAnimationOption的枚举

UIViewAnimationOptionLayoutSubviews //提交动画的时候布局子控件,表示子控件将和父控件一同动画。UIViewAnimationOptionAllowUserInteraction //动画时允许用户交流,比如触摸UIViewAnimationOptionBeginFromCurrentState //从当前状态开始动画UIViewAnimationO

2016-02-29 18:27:55 221

原创 oc运行时获取类属性列表

- (NSArray *)propertys{ unsigned int count = 0; //获取属性的列表 objc_property_t *propertyList = class_copyPropertyList([self class], &count); NSMutableArray *propertyArray = [NSMutableArra

2016-02-28 15:33:22 2715

原创 Podfile

use_frameworks!platform :ios, '8.0'pod 'AFNetworking'pod 'SDWebImage'pod 'SVProgressHUD'pod 'SnapKit'pod 'FMDB'

2016-02-25 18:53:02 263

原创 swift之闭包循环引用问题及解决方式

闭包循环引用问题:1.问题代码代码1:viewcontroll class ViewController: UIViewController { var client: HTTPClient? override func viewDidLoad() { super.viewDidLoad()

2016-02-24 18:29:14 458

原创 ios9不能使用http解决方法

在Info.plist中添加NSAppTransportSecurity类型Dictionary2.在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES

2016-01-18 22:48:06 408

原创 GCD1

1.gcd简介GCD是苹果公司为多核的并行运算提出的解决方案GCD会自动利用更多的CPU内核(比如双全称是Grand Central Dispatch纯C语言的,提供了非常多强大的函数核、四核)GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程)程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码2.gcd 核心:将任务添加到队列

2016-01-16 22:23:25 453

原创 ios多线程

1.线程相关概念进程是指在系统中正在运行的一个应用程序进程和进程之间时相互独立的:在内存当中都有属于自己的一段内存空间线程:一个进程可以有多个线程组成(1个进程至少要有一个线程(主线程)多线程的作用:解决程序阻塞问题                 提升程序到执行效率单核cpu的情况下,多线程时快速的在多个线程之间切换如果线程非常多的话,cpu在多个线程之间

2016-01-14 22:39:10 215

原创 objective-c基础之可变参数列表va_list

#import @interface VarArgs : NSObject- (void)test:(NSString *)name,...;- (int)test2:(int)num1,...;@end@implementation VarArgs- (void)test:(NSString *)name, ...{ va_list arglist;//定义一个v

2015-11-20 11:04:19 446

原创 objective-c基础之block

block基本使用#import int main00() {// //block的使用// void (^print)(void) = ^(void)// {// NSLog(@"我正在学习objective C :block");// };// print();// //无返回值无参数// // doubl

2015-11-19 22:04:52 265

原创 LRU缓存

class LRUCache{    struct CacheNode    {        int key;        int value;        CacheNode(int k,int v):key(k),value(v){}    };    public:    LRUCache(int capacity) {        this-

2015-09-24 16:55:27 138

原创 IOS学习笔记1

1.基本上所有的关键字都@开头,其他少数几个关键字没有2.字符串@开头   @“hello”  是OC的字符串      “hello”  C语言的字符串3.nil  == NULL   4.BOOL  类型  (YES/NO)5. #import 用途;  {1.#include类似    2.防止头文件的重复包含 类似 #pragma once

2015-09-16 21:42:49 230

原创 大小端字节序

1.大端和小端问题大小端字节序与硬件有关 ,intel x86 都是小端字节序小端字节序:低地址存高字节大端字节序:低地址存低字节总结:大端是   按照正常我们书写的顺序来存储的           小端是    按照我们书写顺序相反的代码实现:#include int main(){ int a = 0x123456

2015-09-10 10:39:49 241

原创 条件变量+互斥锁解决生产者消费者模型

代码实现:int num = 0;pthread_mutex_t mutex ;pthread_cond_t  condition;void *producer(void *arg){pthread_mutex_lock(&mutex);num ++ ;if(num == 1)   pthread_cond_signal(&condition);

2015-09-08 09:30:36 329

原创 memcpy实现

void memcpy(void  *dst,const  void* src,size_t  count){assert((!dst) && (!src));const char* psrc = (const char*)src;char* pdst = (char*)dst;int i=0;for(i=0;i

2015-09-07 09:25:29 283

原创 数据结构与算法

归并排序的时间复杂度:将数列每一步都分开需要logN;每一步都是一个归并小数列的过程O(N),所以一共为N*LOG N空间复杂度是O(N)void merge(int a[],int start,int mid,int end,int temp[]){int i = start, j = mid + 1, k = 0;while (i {if

2015-09-06 21:16:25 213

原创 linux c 正则库

linux c正则库标准的C和C++都不支持正则表达式,但是有一些函数库提供这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Expression库,许多Linux发行版本都带有这个函数库3个重要的APIrecomp()函数对其进行编译,转换为regex_t 结构int regcomp(regex_t

2015-09-04 13:34:08 379

原创 linux守护进程daemon

linux守护进程:linux很多的系统服务都是守护进程,例如本地的系统服务crond计划任务 , 网络服务:web httpd如何将一个进程转换为守护进程呢?一.概念:    进程:每一个进程都有父进程(祖先进程是INIT进程 ,PID 1)相关系统调用 fork();子进程终止,父进程会得到通知,并且获取子进程的退出状态:相关:wait(

2015-08-31 12:05:14 254

原创 准备准备..

不知不觉间,开学就大四了,准备找工作了,打算总结下学习的东西前天,参加了阿里的笔试,答的不好不坏,好的是,感觉附加题答的还不错,坏的是,概率题答的特别不好,感觉时间很紧,来不及思考,其实还是自己的数学基础不好,最心痛的是忙中出错,自己明明会的,没答对,一个java的问题,还有就是二分查找的选择题没答对,诶...呵呵,不管怎样,还得开心的生活不是!       今天,我突然想到了一个问题:就

2015-08-25 22:58:32 215

空空如也

空空如也

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

TA关注的人

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