自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JoJo-追求卓越~

编程技术博客

  • 博客(124)
  • 资源 (2)
  • 收藏
  • 关注

转载 Xcode使用教程详细讲解(下)

j)Xcode中书签的使用如果你要将代码中的某个部分标注起来,以便以后和方便的找它这部分代码,则我们可以使用书签。选中一段文本或在源文件中放入插入点,然后选择Edit->Add to Bookmarks(快捷键 command + D),出现提示时输入书签名。k)代码编辑器的导航条导航条 就是在本文编辑窗口的顶部。导航条上有个功能菜单,我们可以通过#prag

2015-10-20 11:24:28 8356

转载 Xcode使用教程详细讲解(上)

Xcode使用教程详细讲解是本文要介绍的内容,Xcode是一个款强大的IDE开发环境,就像你在写Windows程序时需要VS2005一样 需要要Xcode为你写Mac程序提供环境。因此,如果你要成为Mac 程序的开发者,灵活运用Xcode工具是你必须做的第一步。1)我们写程序时常常在源文件的头部添加copyright声明以及公司名称等等;而Xcode在创建文件时已经帮我们做了绝大部分工作,

2015-10-20 10:48:15 7452 1

转载 现在,UICollectionViews有了简单的重排功能

我是UICollectionView的忠实粉丝。这个类比起它的老哥UITableView类具有更高的可定制性。现在我用collection view的次数要比用table view还多。随着iOS9的到来,它支持简单的重排。在此之前,重排不可能有现成的方法,同时这样做也是件痛苦的工作。现在让我们来看看API,你可以在GitHub找到相应的Xcode工程。添加简单重排的最简单的方式是用UIC

2015-09-29 10:31:34 3844 3

转载 iOS FMDatabase 本地数据库的创建和几个基本使用方法

使用数据库之前当然要先在网上下载FMDB的库,然后添加到自己的工程里面去。没有的请点击下面的来下载fmdb在FrameWork里添加“libsqulite3.0.dylib”,不然库托进去后会引起大量报错。一般来说,我们把一个应用的数据库建在当前程序的沙盒里,所以,我们要先取得沙盒的路径在AppDelegate.m中123456

2015-08-13 10:36:21 3215

转载 IOS中获取各个文件的目录路径的方法和NSFileManager类

IOS中获取各种文件的目录路径的方法iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么.documents,tmp,app,Library。(NSHomeDirectory()),手动保存的文件在documents文件里Nsuserdefaults保存的文件在tmp文件夹里

2015-08-13 10:27:19 2435

转载 IOS开发之UIScrollViewDelegate详解

#pragma mark - UIScrollViewDelegate 委托//scrollView滚动时,就调用该方法。任何offset值改变都调用该方法。即滚动过程中,调用多次 - (void)scrollViewDidScroll:(UIScrollView *)scrollView{    NSLog(@"scrollViewDidScroll");

2015-08-02 11:24:31 6682

转载 stretchableImageWithLeftCapWidth 的使用

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度。根据

2015-08-02 09:52:18 1716

转载 AutoLayout constraintsWithVisualFormat

[NSLayoutConstraint constraintsWithVisualFormat:options:metrics:views: ];constraintsWithVisualFormat:参数为NSString型,指定Contsraint的属性,是垂直方向的限定还是水平方向的限定,参数定义一般如下:V:|-(>=XXX) :表示垂直方向上相对于

2015-06-16 16:11:32 3267

转载 如何给UIViewController瘦身

随着程序逻辑复杂度的提高,你是否也发现了App中一些ViewController的代码行数急剧增多,达到了2,3千行,甚至更多。这时如果想再添加一点功能或者修改现有逻辑变得让人无比头疼。如果你遇到了这类问题,那是时候停下来了,思考一下如何更好地组织代码,给VC瘦身。本文将会阐述如何结合MVC的思想帮你的VC瘦身同时提高复用和可扩展性。 一、开发中常见的现象和缺点  iOS中

2015-05-15 10:50:52 1727

转载 浅析iOS程序设计模式(基于MVC)

接触iOS手机开发有一段时间了。总体来说,苹果公司设计的开发环境还是非常人性化的。很容易上手,也方便深入。       在组织大型项目的代码文件时,我们常用MVC的思想。MVC的概念讲起来非常简单,就和对象(object)一样。但是理解和应用起来却非常困难。今天我们就试着探讨一下MVC设计理念。       M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的

2015-05-15 10:48:43 1760

转载 git服务器:[3]xcode6 git仓库检出并添加工程

方法/步骤1打开xcode 如图:2填写之前仓库的地址 或者你自己知道的git的地址cheak

2015-05-05 17:07:55 1675

转载 xcode git 忽略user interface state文件

1. 退出xcdoe, 打开终端(Terminal),进入到你的项目目录下2. 在终端键入  git rm --cached [YourProjectName].xcodeproj/project.xcworkspace/xcuserdata/[YourUsername].xcuserdatad/UserInterfaceState.xcuserstate3. 在终端键入  git c

2015-05-05 17:04:00 6857

转载 在Xcode中使用Git进行源码版本控制

链接: http://www.cocoachina.com/ios/20140524/8536.html

2015-05-04 17:05:00 1644

转载 XCode的 Stack Trace,调试时抛出异常,定位到某一行代码

在Xcode调试程序的时候,总是会出现不知道错误在什么地方的问题,很是捉急,现在又一个办法,可以具体定位到错误行的代码,试一下吧?超级好用操作很简单:1、在XCode界面中按cmd + 6快捷键,或者直接点击选项卡,跳到Breakpoint的tab2、然后点击左下角的+号,增加一个Exception的断点,如下图所示。3、接下来会出现一个“A

2015-05-04 15:27:41 1913

转载 OOP三个基本特征:封装、继承、多态

C++编程之—面向对象的三个基本特征面向对象的三个基本特征是:封装、继承、多态。  封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承面向对象编程 (OOP)

2015-05-01 16:02:15 2177

转载 抽象工厂模式-与-工厂方法模式区别

首先来看看这两者的定义区别:工厂模式:定义一个用于创建对象的借口,让子类决定实例化哪一个类抽象工厂模式:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类       个人觉得这个区别在于产品,如果产品单一,最合适用工厂模式,但是如果有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。再通俗深化理解下:工厂模式针对的是一个产品

2015-05-01 15:19:18 1636

转载 面向对象设计原则之里氏代换原则

里氏代换原则由2008年图灵奖得主、美国第一位计算机科学女博士Barbara Liskov教授和卡内基·梅隆大学Jeannette Wing教授于1994年提出。其严格表述如下:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1代换o2时,程序P的行为没有变化,那么类型S是类型T的子类型。这个定义比较拗口且难以理解,因此我们一般使用它的另一个通俗版

2015-04-20 00:53:31 1631 1

转载 代理模式VS外观模式VS适配器模式

代理模式VS外观模式VS适配器模式 学习了一个多月的设计模式,下面就对一些比较容易混淆的模式作一些比较和总结吧,如有不正确的地方,还望大家指正。首先,看看代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。以下是它的UML图:Subject类定义了RealSubject和Proxy的共用接口,

2015-04-19 13:43:54 1844

转载 UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现

类与类图1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。3) 类的属性即类的数据职责,类的操作即

2015-04-19 10:14:29 1726

转载 Objective-C中的@dynamic

一、@dynamic与@synthesize的区别@property有两个对应的词,一个是@synthesize,一个是@dynamic。如果@synthesize和@dynamic都没写,那么默认的就是@syntheszie var = _var; @synthesize的语义是如果你没有手动实现setter方法和getter方法,那么编译器会自动为你加上这两个方法。

2015-04-15 16:45:55 1623

转载 控制器的创建

说明:控制器有三种创建方式,下面一一进行说明。一、第一种创建方式(使用代码直接创建)1.创建一个空的IOS项目。2.为项目添加一个控制器类。3.直接在代理方法中创建一个控制器。 1 #import "YYAppDelegate.h" 2 #import "YYViewController.h" 3 4 @implementation YY

2015-04-13 14:17:11 581

转载 动态加载StoryBoard、xib

第一种方法:ViewControllerB *vcB = [self.storyboard instantiateViewControllerWithIdentifier:@"Name of View Controller B"];[vcB setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];[

2015-04-13 14:12:46 2284

转载 Xcode菜单功能中文翻译

File  文件Edit  编辑View 视图Navigate 导航Editor 编辑Product 产品Window  窗口Help 帮助File  文件New 新建          New Tab 新标签          New Window 新窗口          New File 新文件

2015-04-11 17:19:54 5227 1

转载 objective-c宏定义

1、先来几个常用的:[csharp] view plaincopy// 是否高清屏  #define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UISc

2015-03-28 20:28:23 617

转载 Objective-C 消息转发 详解

OC中的方法调用其实是runtime时才决定的,调用一个对象的方法,等于给其发消息,调用一个对象不存在的方法,不会立马crash,其实系统会跟我们几次机会,如果我们都错过了,才会crash其流程大概五如下图所示:步骤大体是:1.在方法列表中查找,如果有,给其发信号调用2.尝试进行动态解析,也就是Get和Set一类方法,具体看@dynamic

2015-03-28 19:32:25 870

转载 Objective-C 消息转发

目录(?)[-]Objective-C 消息转发一消息转发流程二动态解析Lazy Resolution三快速转发Fast Forwarding四慢速转发Normal Forwarding五方法声明六使用消息转发在子类中处理Delegate消息Leave a Reply← Objective-C MessagingToll Free B

2015-03-28 19:05:14 625

转载 Objective-C 对象和消息模型

Objective-C 对象模型首先要了解一下Objective-C中关于类和对象的定义,Cocoa中大部分对象都是NSObject的子类(NSProxy是一个例外),继承了NSObject的方法。NSObject定义如下:@interface NSObject { Class isa;}NSObject可见一个对象的内存布局中第一个元素是指向类

2015-03-28 18:47:57 664

原创 memcpy memmove区别和实现

memcpy memmove区别和实现memcpy与memmove的目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。但当源内存和目标内存存在重叠时,memcpy会出现错误,而memmove能正确地实施拷贝,但这也增加了一点点开销。memmove的处理措施:(1)当源内存的首地址等于目标内存的首地址时,不进行任何拷贝(2)当源内存的首地址大于目标内存的首

2013-04-05 23:14:26 1044

转载 C++ 非类型参数的模版实参

今天看见c++中关于类模版的定义有两种,首先,类模版的定义和声明都以关键字template开头,后面接上以逗号分隔的模版参数表(template parameter list),模版参数表以  template ,对于非类型参数模版(nontype parameter)需要注意的是它由普通参数声明构成的,它代表类模版中的一个常量,例如定义template,这之后就要注意了,给定的非类型参数的表达式

2013-01-20 02:13:01 970

转载 共享内存映射之mmap()函数详解

共享内存映射之mmap()函数详解   共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据: 一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,

2013-01-18 15:56:17 1392

转载 mysql C API 调用存储过程

Subject:Re: Documentation for calling stored procedures via C APIFrom:Paul DuBois (pa...@mysql.com)Date:Feb 28, 2008 9:14:09 amList:com.mysql.lists.mysqldocAt 6

2012-10-24 19:33:24 3609

转载 pselect()

很久以来,同事写的一个模块,与串口收发数据的时候,SELECT()函数等待的时间长点,就会被模块里设置的时钟信号打断,最近看到了一个新的函数pselect(),研究了一把,收获不小!!现在发现,SELECT()函数等待的这段时间内不想被别的信号打断的方法有两其一:用pselect()函数#include        #include        #include

2012-10-09 17:06:56 1167

转载 线程的取消/撤销

1 线程取消的定义一般情况下,线程在其主体函数退出的时候会自动终止,但同时也可以因为接收到另一个线程发来的终止(取消)请求而强制终止。2 线程取消的语义1. 线程取消的方法是向目标线程发Cancel信号,但如何处理Cancel信号则由目标线程自己决定,或者忽略(当禁止取消时)、或者立即终止(当在取消点或异步模式下)、或者继续运行至Cancelation-point(取消点,下面将描

2012-10-08 11:54:23 1404

转载 pthread_cleanup_push与pthread_cleanup_pop的目的(作用)

比如thread1:执行pthread_mutex_lock(&mutex);//一些会阻塞程序运行的调用,比如套接字的accept,等待客户连接sock = accept(......);            //这里是随便找的一个可以阻塞的接口pthread_mutex_unlock(&mutex);这个例子中,如果线程1执行accept时,线程会阻塞(也就是

2012-10-08 11:50:07 2681

转载 tcp socket的发送与接收缓冲区

(1)应用程序可通过调用send(write, sendmsg等)利用tcp socket向网络发送应用数据,而tcp/ip协议栈再通过网络设备接口把已经组织成struct sk_buff的应用数据(tcp数据报)真正发送到网络上,由于应用程序调用send的速度跟网络介质发送数据的速度存在差异,所以,一部分应用数据被组织成tcp数据报之后,会缓存在tcp socket的发送缓存队列中,等待网络空闲

2012-09-29 17:36:45 10051

转载 linux下查看进程内存使用情况

动态查看一个进程的内存使用[c-sharp] view plaincopyprint?1、top命令  top -d 1 -p pid [,pid ...]  //设置为delay 1s,默认是delay 3s  如果想根据内存使用量进行排序,可以shift + m(Sort by memory usage)  静态查看一个进程的内存使用

2012-09-29 14:24:18 2207

转载 dns 性能测试 dnsperf

1. dnsperf   dnsperf--测试dns服务器的工具2. 主页   http://www.nominum.com/resources/measurement-tools3. 下载   ftp://ftp.nominum.com/pub/nominum/dnsperf/2.0.0.0/dnsperf-src-2.0.0.0-1.tar.gz

2012-09-20 18:52:18 9820 1

转载 DNS“递归与缓存分离”架构评测

近几年来,DNS解析服务频繁受到攻击。仅以国内为例,2009年5月19日晚21时左右,江苏、河北、山西、广西、浙江、天津、内蒙古、黑龙江、广东等省市出现大范围网络故障,各地网民均遇到网络不畅通、网页无法打开等问题。据工业和信息化部通信保障局发布的公告,确认该事件是由于暴风网站域名解析受到网络攻击,导致电信运营商的递归域名解析服务器收到大量异常请求而引发拥塞。此后不久又发生了百度域名被劫持事件,20

2012-09-20 18:50:14 4535

转载 DNS 迭代查询与递归查询

DNS 查询以各种不同的方式进行解析。有时,客户端也可使用从先前的查询获得的缓存信息就地应答查询。DNS 服务器可使用其自身的资源记录信息缓存来应答查询。DNS 服务器也可代表请求客户端查询或联系其他 DNS 服务器,以便完全解析该名称,并随后将应答返回至客户端。这个过程称为递归。另外,客户端自己也可尝试联系其他的 DNS 服务器来解析名称。当客户端这么做的时候,它会根据来自服务器的参考答

2012-09-20 18:37:17 4520

转载 linux 终端快捷键

Bash Shell 快捷键  l         CTRL k:删除从光标到行尾的部分  l         CTRL u:删除从光标到行首的部分  l         ALT d:删除从光标到当前单词结尾的部分  l         CTRL w:删除从光标到当前单词开头的部分  l         CTRL a:将光标移到行首  l         CTRL e:将光

2012-09-20 08:51:34 1697

MYSQL5.1中文帮助文档

MYSQL5.1 CHM版中文帮助文档.chm。 信息很全面,涵盖了mysql的各个方面,例如开发的API、优化等。

2012-04-26

空空如也

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

TA关注的人

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