自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Shicuf的专栏

兵贵神速!

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

原创 iOS 之Quartz2D简介

Quartz 2D编程指南是论坛会员德鲁伊翻译的国外的Quartz 2D一系列学习资料,供大家参考Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境。我们可以使用Quartz 2D API来实现许多功能,如基本路径的绘制、透明度、描影、绘制阴影、透明层、颜色管理、反锯齿、PDF文档生成和PDF元数据访问。在需要的时候,Quartz 2D还可以借助图形硬件的功

2015-02-10 14:59:29 402

原创 iOS 之UITapGestureRecognizer活学活用

一、从零开始创建项目1.为了大家方便理解,我们从一个空项目开始创建2.项目的配置情况如下,可以根据自己随意调整3. 因为我们创建的是新项目,除了一个ILAppDelegate什么都没有4.正常情况下我们会创建一个根RootViewController,然后通过Controller控制视图的显示逻辑,这里只是一个练习,我们尝试一下新

2015-02-09 20:30:26 638

原创 iOS 之通过反射机制获得变量名

一、使用介绍    项目有的时候,会遇到一些特殊的处理,想要根据一个实例的引用,获取这个实例在代码中的名称。比如在处理View的坐标的时候,我们将UIView的坐标信息配置到plist文件中,我们可以设置一个key,再通过这个key来获取配置文件中的坐标等信息。有没有更简单的方法呢,或者我只想简单的用实例变量的变量名做为key。下面就介绍一种简单的,根据实例变量的引用获取实例变

2015-02-09 20:27:57 593

原创 iOS 之AutoReleasePool陷阱

一、项目需求在实际项目中,用户在上传图片时,有时会一次性上传大量的图片。在上传图片前,我们要进行一系列操作,比如:旋转图片为正确方向,压缩图片等,这些操作需要将图片加载到内存中,下面对内存的使用做详细分析.二、内存分析,非优化我在测试项目中,重复加载了一张图片1000次,首先加载图片到内存,然后进行压缩操作,释放内存 [cpp] view

2015-02-09 20:22:05 453

原创 iOS 之公共wifi解决方案

一、公共WIFI综述现在很多公司都在做免费WIFI,车站、公交、地铁、餐厅,只要是人员密集流动的地方就有WIFI,免费WIFI从最初的网页认证方式也逐渐向客户端认证方式偏移。本文主要讨论IOS认证上网的解决方案。 IOS端WIFI应用的相关开发,主要存在以下问题1.IOS系统WIFI相关的接口很少,大部分接口都是私有接口2.在设备连接上WIFI,没有通过路由器认证前,如果关闭IO

2015-02-09 20:14:32 626

原创 OC之集合

一、NSArray和NSMutableArray(一)NSArray不可变数组(1)NSArray的基本介绍NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组。C语言数组有一个缺点即数组中只能存放同种数据类型的元素。OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等。(2)NSArray的创建

2015-02-09 12:45:11 377

原创 OC之字符串

一、Foundation框架中一些常用的类字符串型:NSString:不可变字符串NSMutableString:可变字符串集合型:1)NSArray:OC不可变数组NSMutableArray:可变数组2)NSSet:NSMutableSet:3)NSDictioraryNSMutableDi

2015-02-09 12:44:00 303

原创 OC之常用结构体

一、基本知识Foundation—基础框架。框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础。如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了。即#import补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的。 二、常用的结构

2015-02-09 12:39:39 333

原创 OC之Block

一、BOLCK(一)简介BLOCK是什么?苹果推荐的类型,效率高,在运行中保存代码。用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行。BOLCK和函数的相似性:(1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样。标识符 ^(二)基本使用(1)定义BLOCK变量Int (^SumBlock)(int,in

2015-02-09 00:57:27 223

原创 OC之类描述和选择子

一、description方法Description方法包括类方法和对象方法。(NSObject类所包含)(一)基本知识-description(对象方法)使用NSLog和@%输出某个对象时,会调用对象的description方法,并拿到返回值进行输出。+description(类方法)使用NSLog和@%输出某个对象时,会调用类对象的descrip

2015-02-09 00:56:01 398

原创 OC之分类

一、分类(一)分类的基本知识 概念:Category  分类是OC特有的语言,依赖于类。分类的作用:在不改变原来的类内容的基础上,为类增加一些方法。添加一个分类:文件结构图: 在分类中添加一个方法 Study方法的实现 测试程序: (二)分类的使用注意(1)分类只能增加方

2015-02-09 00:54:17 351

原创 OC之构造方法

一、构造方法(一)构造方法的调用完整的创建一个可用的对象:Person *p=[Person new];New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法来分配存储空间(返回分配的对象);2)使用init方法来对对象进行初始化。可以把new方法拆开如下:1.调用类方法+alloc分配存储空间,返回未经初始化的对象Person *

2015-02-09 00:51:52 334

原创 OC之属性

一、@property @synthesize关键字注意:这两个关键字是编译器特性,让xcode可以自动生成getter和setter的声明和实现。(一)@property 关键字@property 关键字可以自动生成某个成员变量的setter和getter方法的声明@property int age;编译时遇到这一行,则自动扩展成下面两句:- (v

2015-02-09 00:50:21 358

原创 OC之语法

一、点语法(一)认识点语法声明一个Person类: 1 #import 2 3 @interface Person : NSObject 4 { 5 int _age;//默认为@protected 6 } 7 8 - (void)setAge:(int)age; 9 - (int)age;10 11 @end    P

2015-02-09 00:47:56 295

原创 OC之多态

一、基本概念多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态。在使用多态是,会进行动态检测,以调用真实的对象方法。多态在代码中的体现即父类指针指向子类对象。Animal类的声明 Animal类的实现 Dog类继承自Animal类 Dog类的实现 测试程序:  二、使用注意代码分析:Dog *d=[[Animal 

2015-02-09 00:45:55 406

原创 OC之继承

一、基本概念程序的世界和人类的“对象”世界在思想上是没有设么区别的,富二代继承了父母,自然就拥有了父母拥有的所有资源,子类继承了父类同样就拥有了父类所有的方法和属性(成员变量)。 在这里动物是猫类和狗类的父类,黑猫和白猫类是猫类的子类。继承的好处:(1)抽取出了重复的代码(2)建立了类和类之间的联系继承的缺点:耦合性太强 

2015-02-09 00:44:47 315

原创 OC之封装

一、面向对象和封装面向对象的三大特性:封装(成员变量)、继承和多态在OC语言中,使用@interface和@implementation来处理类。 @interface就好像暴露在外面的时钟表面,像外界提供展示以及接口。@implementation就好像隐藏在时钟内部的构造实现,把具体的实现封装了起来。 二、Set方法在开发过程中,考虑到安全性要求,我们一般不在成员变

2015-02-09 00:43:56 347

原创 OC之内存管理

一、基本原理(一)为什么要进行内存管理。由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。管理范围:任何继承NSObject的对象,对其他的基本数据类型无效。本质原因是因为对象和其他数据类型在系统中的存储空间不一样,其它局

2015-02-09 00:40:23 208

原创 OC之方法介绍

一、OC方法(一)对象方法(1)对象方法以-开头如 -(void)xx;(2)对象方法只能由对象来调用(3)对象方法中可以访问当前对象的成员变量(4)调用格式   [对象名  对象方法名];(5)设计一个学生类和狗类,练习对象方法的使用。学生类的声明: 学生类的实现: 狗类的声明: 狗类的实现:

2015-02-09 00:36:24 672

原创 OC之基础简介

一、面向对象OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类。术语:OO面向对象、OOP面向对象编程 二、类(一)关于类类的设计只关注三个东西:类名、属性和方法注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需

2015-02-09 00:34:22 425

原创 OC之开篇

一、OC简介Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码。可以使用OC开发mac osx平台和ios平台的应用程序。拓展名:c语言-.c  OC语言.-m  兼容C++.-mm注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法的差别外,我想最重要的应

2015-02-09 00:32:33 224

原创 C++之多态

多态性就是不同对象收到相同消息时,产生不同的动作。用一个名字定义不同的函数,这些函数执行不同但又类似的操作,即用同样的接口访问功能不同的函数,实现“一个接口,多种方法”。C++支持的多态性分为编译时多态性和运行时多态性。其中编译时多态性主要通过函数重载和操作符重载来实现,而运行时多态通过继承和虚函数来实现。  1虚函数  1.1引入派生类后的对象指针使用:

2015-02-09 00:27:24 379

原创 C++之面向程序设计浅析

1.1什么是面向对象程序设计面向过程的程序设计思想的核心是功能的分解。将数据结构和过程分离,着重点在过程,设计者首先考虑如何将功能分解,在每一个过程中安排程序的操作序列。缺点之一,当程序的数据结构需要变更的时候,需要修改与之相关的缩影模块,造成了可重用性差,维护代价高。面向对象程序设计中,着重点在被操作的数据而不是实现这些操作的过程。程序=对象+消息基本元素是对象,

2015-02-09 00:25:47 402

原创 C++之函数简介

主要知识点:·函数基本知识·函数原型·如何按值传递函数参数·如何设计处理数组的函数·如何使用const指针参数·如何设计处理文本字符串的函数·如何设计处理结构的函数·如何设计处理String类对象的函数·调用自身的函数(递归)·指向函数的指针1.函数的基本知识#1.要使用c++函数,必须完成的工作:(1)提供函数定义  void funcatio

2015-02-09 00:21:41 451

原创 C++之基本数据类型介绍

1.简单变量信息将存储在哪里。要存储什么值。存储何种类型的值。int a=5;//程序找到一块能够存储整数的内存,将该内存单元标记为a,将5复制到该内存单元上。(1)变量名命名规则:a.在名称中只能使用字母字符、数字和下划线;b.名称的第一个字符不能是数字;c.区别大小写;d.不能将关键字用作名称;e.对名称长度没有限制;f.以两个下划线或下划线和大写字母打头的名称被保留给实现使用。

2015-02-09 00:11:58 516

原创 C++之基本概述

1.杂计算机语言要处理概念——数据和算法。数据是程序使用和处理的信息,而算法是程序使用的方法。过程性编程是试图使问题满足语言的过程性方法,强调的是算法方面,而OOP试图让语言来满足问题的需求,其理念是设计与问题的本质特性相对应的数据格式。在C++中,类是一种规范,它描述了新型的数据格式,对象是根据这种规范构造的特定数据结构。可移植相关:硬件和语言上的差异。2.一个示例程序

2015-02-09 00:09:01 444

原创 iOS 开发之常用框架

iPhoneOS(现在叫iOS)是iPhone, iPod touch 和 iPad 设备的操作系统.       1,CoreOS:    是用FreeBSD和Mach所改写的Darwin,是开源、符合POSIX标准的一个Unix核心。这一层包含或者说是提供了整个iPhone OS的一些基础功能,比如:硬件驱动,内存管理,程序管理,线程管理(POSIX),文件系统,网络(BSDS

2015-02-06 23:15:29 533

原创 C语言之指针简析

C语言指针前导程序 View Code 一、基本知识点Int a=10;Int *p;//定义一个int类型的指针P=&a;//指针变量p指向了变量a*p=20;//使用指针不通过变量直接修改变量a的值为20*p表示访问指针变量p指向的存储空间指针一个作用:能够根据一个地址值,访问(取值 | 赋值)对应的存储空间

2015-02-03 00:34:54 410

原创 C语言之字符串

C语言字符串一、字符串基础注意:字符串一定以\0结尾。Printf(“yang\n”);其中yang为字符串常量,“yang”=‘y’+‘a’+‘n’+‘g’+‘\0’。字符串由很多的字符组成,通常使用字符数组来存储字符串,如char name[10]=“yang”;也可以以printf(name);的形式输出,即通过数组来访问字符串,但会有警告。因为默认情况下,p

2015-02-03 00:34:05 295

原创 C语言之数组

C语言数组一、数组的概念用来存储一组数据的构造数据类型特点:只能存放一种类型的数据,如全部是int型或者全部是char型,数组里的数据成为元素。 二、数组的定义格式: 类型 数组名[元素个数];举例:存储5个人的年龄Int agrs[5]; //在内存中开辟4x5=20个字节的存储空间可以在定义数组的同时对数组进行初始化:Int ages[5]={17,18

2015-02-03 00:33:20 250

原创 C语言之内存简析

C语言内存分析一、进制概念:进制是一种计数方式,是数值的表现形式4种主要的进制:①. 十进制:0~9 ②. 二进制:0和1③. 八进制:0~7④. 十六进制:0~9+a b c d e fC语言在默认的情况下为十进制。Int num=1010;//十进制Int num=0b1100;//二进制,以0b或者是0B开头Int num=014;//八进制,以0

2015-02-03 00:31:40 329

原创 C语言之控制流程

C语言流程控制一、流程控制结构(1)顺序结构:按书写顺序执行每一条语句。(2)选择结构:对给定的条件进行判断,根据判断结果决定执行哪一段代码。(3)循环结构:在给定条件成立的情况下,反复执行某一段代码。二、选择结构-if(一)if简单使用1) 第一种结构:a) 如果条件为真,就执行后面的语句,否则不执行。if(条件){语句1;语句2;····

2015-02-03 00:29:03 379

原创 C语言之运算符进阶

C语言运算符一、算术运算C语言一共有34种运算符,包括常见的加减乘除运算。①. 加法:+ 还可以表示正号②. 减法:- 还可以表示负号③. 乘法:* 非数学意义上的X④. 除法:/  注意1/2的值为0而非0.5⑤. 取余(模运算):两个整数相除之后的余数(注意两边都必须是整数,带符号只和左值有关)  注意点:①. Int a

2015-02-03 00:25:39 413

原创 C语言之scanf

C语言的scanf函数一、变量的内存分析(一)字节与地址①. 内存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节。整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间就相当于是每个字节,地址就是房号,根据房号可以找到房间(根据地址也可以找到内存中的字节)。相邻房间的房号是连续的,相邻字节的地址也是连续的。计算机中通常以十六进制表示地址。②

2015-02-03 00:23:33 387

原创 C语言之数据类型

一、数据图片文字等都是数据,在计算机中以0和1存储。(一)分类数据分为静态数据和动态数据。①. 静态数据:一些永久性的的数据,一般存储在硬盘中,只要硬盘没坏数据都是存在的。一般以文件的形式存储在硬盘上,电脑关机重启后依然存在。②. 动态数据:程序运行过程中,动态产生的的临时数据,一般存储在内存中,内存的存储空间一般较小,计算机关闭后这些数据就会被清除。软件或者电

2015-02-03 00:13:05 262

原创 C语言之命名规范

一、关键字C语言提供的有特殊含义的符号,共32个。在Xcode中关键字全部高亮显示,关键字全部都为小写。如return、int等。二、标识符定义:标识符是程序员在程序中自定义的一些符号和名称。关键字是系统自带的,标识符是自定义的。如函数的名称等,用来区分各种事务。标识符有一定的命名规则: 只能由26个小写字母,0-9的数字以及下划线组成。 严格区分大

2015-02-03 00:10:22 259

原创 C语言之常见问题

C语言的核心:函数、变量和指针栈:通常是用于那些在编译期间就能确定存储存储大小的变量的存储区,用于在函数作用域内创建、在离开作用域后自动销毁的变量的存储区,是连续的。两个紧挨着定义的变量,存储空间也是紧挨着的。栈的大小有限制。堆:在编译期间不能确定大小的存储区,存储空间是不连续的,一般由malloc()或new()来分配内存块,并且需要用free()或delete()来释放内存。如果没有释放掉,就

2015-02-03 00:08:22 374

原创 C语言之函数

1.前导程序View Code 2.函数概述函数是用于完成特定任务的代码的自包含单元。一般而言函数可同时具有,执行动作和返回值两个操作。如果把函数写在了另一个单独的文件中,则在那个文件中必须加入#define和#include指令。一个程序分析 1 //打印一个信头 2 #include 3 #includestring.h> 4 #define NA

2015-02-03 00:00:27 390

原创 C语言之输入和输出

1.前导程序 1 //一个菜单程序 2 #include 3 char get_choice(void); 4 char get_first(void); 5 int get_int(void); 6 void count(void); 7 int main(void) 8 { 9 int choice;10 void count(void);

2015-02-02 23:57:57 788

原创 C语言之分支

1.前导程序 1 //统计字符、单词和行 2 #include 3 #include //为isspace()提供函数原型 4 #include //为bool、true和flase提供定义 5 #define STOP '|' 6 int main(void) 7 { 8 char c; //

2015-02-02 23:53:16 367

gdal1.3.1开源代码

gdal开源库,主要用来做地形处理,是一个技术很强大的库

2013-10-12

空空如也

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

TA关注的人

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