自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (2)
  • 收藏
  • 关注

原创 【Objective-C】Base64

base64算法能把任何二进制数据转换成文本文件, 二进制数据默认是按照8位一字节进行编码的,base64编码则是按照特定的字符表按照6位一分,最终得到的数值。每差一位,末位补两个0.对应字符表中的=号。所以base64编码比较容易辨认,如果文本最后面是等号,就有很大可能是base64编码。简介是网络上使用最广泛的编码系统,能够将任何二进制数据,转换成只有 65 个字符

2017-07-18 16:26:52 1034

原创 【Objective-C】哈希算法(MD5)工具类

1、MD5算法是对任意一个二进制数据进行加密,可以得到定长的字符串结果。是一种单向加密。  2、MD5是散列(哈希)算法的一种,加密结果是32个字符。SHA1加密结果是40个字符。Git版本穿越用的就是SHA1。  3、对原文进行两次MD5的处理不安全,很容易就可以破解。(只要有足够多条的数据,就可以有很大可能被匹配出来,如www.cmd5.com)  4、对数据进行加盐,两年前用的比

2017-07-18 16:13:39 1124

原创 [Object-C]CGD&NSOperation

1、并发队列开多条线程,具体能开的线程数量由底层线程池决定。iOS7.0以及之前,GCD通常只会开启5-6条线程,iOS8.0之后,GCD能够开启非常多的线程(八十多条)。2、如果任务没有先后执行顺序的要求,并且需要效率高,执行快,那么可以使用多线程。缺点是:费电,而且耗流量。适用于wifi或者包月的流量。3、实际开发中,wifi线程数6条,3G / 4G 移动开发的时候,2~3条,再

2017-07-12 22:48:52 428

原创 [Object-c] Log(输出数组和字典的中文内容)

#import @interface NSArray (Log)@end@interface NSDictionary (Log)@end#import "NSArray+Log.h"@implementation NSArray (Log)//这个方法是专门针对国际化语言调试使用的,一旦实现,再输出数组,就会调用此方法。//因为是调试使用的,只要实现分类方法,就会

2017-07-12 22:39:43 1341

转载 Objective-C 的“多继承”

转载地址: http://blog.csdn.net/yiyaaixuexi/article/details/8970734当单继承不够用,很难为问题域建模时,我们通常都会直接想到多继承。多继承是从多余一个直接基类派生类的能力,可以更加直接地为应用程序建模。但是Objective-C不支持多继承,由于消息机制名字查找发生在运行时而非编译时,很难解决多个基类可能导致的二义性问题。

2017-07-12 22:15:32 515

原创 【UI】自定义cell的步骤

一、自定义Cell的实现方式1.1 使用xib自定义Cell      当每个Cell中的内容是固定的,控件个数、位置、尺寸等都一样的时候可以使用xib的方式来自定义cell1.2 通过手写代码的方式实现      当每个Cell的结构不一样,每个Cell中的控件的个数、样式都不一样的时候使用手写代码的方式来自定义cell二、xib方式实现自定义Cell的步骤1

2015-07-19 07:28:40 906

转载 【Object-C】 NSTimer用法,暂停,继续,初始化

转载:NSTimer的使用方法1、初始化+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;+ (NSTimer *)scheduledT

2015-07-17 00:28:38 1429

原创 【ObjectC】oc中的内存分配

一、内存分配顺序       程序一启动的时候就会先加载代码区中的代码,然后加载常量区中的常量,接着加载全局区和静态区(初始化过的静态区和没有初始化过的静态区是分开的),以上四个区都是随着程序启动而加载到内存中,随着程序的退出而销毁。程序员不需要管理这一块的内存。       堆区:堆区用来存放对象,需要使用alloc来分配内存空间。程序员需要管理堆区的内存。ARC的内存管理,是Xcode

2015-06-13 22:59:38 1378

转载 如何自定义button的点击有效区域

某些情况下我们需要按钮有不规则的形状,在这些形状内点击才有响应,例如下面的图片中:图片中红线圈出的两处都是用按钮做的,按钮的实际布置是上面第二张图所画的那样,所有按钮都是矩形的,但是中间的按钮和一圈的转盘形状都不可能用矩形,否则点击的时候难免相互影响。那么如何自定义按钮点击的有效区域呢,其实很简单,只要重写一个函数即可:- (BOOL)poi

2015-05-21 21:44:09 4053

原创 【ObjectC】Xcode的常用快捷键

1、撤消:Command+Z2、撤消回复:Command+control+shift+Z3、打开辅助视图:Option+cmd+Enter 4、取消辅助视图:cmd+Enter5、打开或者取消左边的导航栏:cmd+06、打开或者取消右边的属性视图:option + cmd+0

2015-04-20 00:18:04 567

原创 【Foundation】19-NSNumber、NSValue和NSDate

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------一、NSNumber     1.1 NSNumber的作用:由于集合类型只能存放OC类型数据,无法存放int类型数据。当在开发中需要int类型的数据时,可以将int类型包装成NSNumber对象再存放。     1.2 NSNumber和int的转换 // 将数值10转

2015-03-01 12:05:43 613

原创 【Foundation】18-集合类NSArray、NSSet、NSDictionary

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------一、NSArray1.1 NSArray是OC数组,是不可变数组。OC数组只能存放OC对象,不能存放非OC对象类型,比如int、struct、enum等。1.2 NSString不能存放nil值。nil值是数组元素结束的标记。

2015-02-27 07:30:38 679

原创 【Foundation】17-字符串NSString和NSMutableString

一、NSString 1.1 NSString是不可变字符串,即字符串的内容在内存中是不可变的。针对此字符串的操作(如拼接,删除等),都是拷贝字符串到新的字符串中进行操作,并返回新字符串。1.2 字符串的创建  NSString *s1 = @"jack";  //NSString *s2 = [[NSString alloc] initWithString:@"jack"]; /

2015-02-26 22:46:37 589

原创 【Objective-C】15-block和协议

一、block1.1  block的作用:block是苹果推荐的类型,效率高,可以在运行中保存 一段代码,并在任何时候执行。常用来封装和保存代码。1.2  block和函数的相似性:(1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样。1.3 block的标识符是:^1.4 定义block变量void (^myblock)() = ^(){// myblock是b

2015-02-26 16:40:33 530

原创 【Foundation】16-NSRange、NSPoint、NSSize、NSRect知识点

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------一、NSRange1.1 NSRange本质是结构体,里面有location和length两个成员。1.2 NSRange表示元素在数组中的范围,location表示起始元素的下标,length表示要包含的元素个数。1.3 NSMakeRange函数可以用于创建NSRange对

2015-02-25 19:51:17 956

原创 【Objective-C】14-内存管理

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------一、内存管理的意义移动设备的内存比较有限,每个app所能占用的内存也是有限制的,超出限制范围可能导致程序崩溃,需要合理分配内存。内存管理的对象是任何继承了NSObject的对象,对其他基本数据类型(int、double、float、char、struct、enum等)无效。这是

2015-02-10 20:48:16 529

原创 【Objective-C】13-类和方法的本质

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------一、类的本质1.1 类的本质是对象,是Class类型的对象,简称类对象。1.2 类的创建过程:Person *p = [[Person alloc] init];     1>利用Class创建Person类对象;     2>利用Person类对象,创建Perso

2015-02-08 19:48:55 712

原创 【Objective-C】12-分类

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------一、分类的作用分类的英文名是Category,本身必须依赖于一个现有类,用于在不改变原来类的代码的基础上,为类扩充方法。使用分类,一个庞大的类可以分模块开发,可以由多个人来编写,更有利于团队合作。二、类的声明和实现2.1 分类的声明@interface 类名 (分类

2015-02-08 12:48:12 602

原创 【Objective-C】11-构造方法

一、构造方法的作用: 构造方法是用来初始化对象的方法,是个对象方法,-开头。构造方法只有一个作用,就是初始化成员变量。当一个对象初始化的时候需要有默认值,就可以用到构造方法。二、构造方法的原则: 成员变量属于哪个类,就在哪个类那里进行初始化。父类的属性交给父类方法去处理,子类方法处理子类自己的属性。

2015-02-07 23:38:49 606 1

原创 【Objective-C】10-@property和@synthesize

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------一、@property和@synthesize的作用:      由于在oc语法中对成员变量的完整访问都需要先在@interface和@end之间声明成员变量,然后再声明这个成员变量的get方法和set方法。并且在@implementation和@end之间实现这个成员变量的g

2015-02-07 11:19:41 1652

原创 【Objective-C】09-OC中的点语法和成员变量的作用域

1、点语法的来由      对对象成员变量的操作,最常规的做法是让成员变量私有化,让外界使用公共的get方法和set方法访问成员变量。很多其他的高级语言都有点语法,为了让其他行业的程序员快速上手OC,OC中也引入了点语法,只不过它的含义跟其他语言不太一样。2、点语法的本质    2.1 点语法的本质是方法的调用,其实是XCode在内部进行转换。       如:p.age = 10

2015-02-04 17:23:48 565

原创 【C语言】01-类型总结

C语言的数据类型分为基本数据类型、构造类型、指针类型、枚举类型和空类型等几种。一、基本数据类型1.1 整型int1>short int、short:              占2个字节,占位符:%d %i2>long int、long:                   占8个字节,占位符:%ld3>signed int、signed:        占4个字节,占位符

2015-01-18 10:50:11 1601

原创 【C语言】02-C语言字符串长度和OC字符串对象长度计算的比较

OC字符串对象主要是用length来计算字符串的长度。而C语言字符串长度的计算方法主要有两个。一个是sizeof,一个是string.h头文件下的strlen。以下是它们各自计算的区别:1、C语言中的sizeof1.1 sizeof(str)主要计算的是字符串占用字节的大小,并且会把''\0'结束字符计算在内。1.2 如果传递进来的是个指针字符串,则计算的是该指针占用的字节数大小,在3

2014-12-14 12:10:52 2206

原创 【Objective-C】08-OC对象的super关键字

OC对象中的关键字super是用来直接调用父类中的某个方法用的。一般用来子类重写父类的方法时,想要保留父类的一些行为,减少代码重复,所以就用super关键字来调用父类现成方法。使用super要注意的关键点是:super所处的位置决定了子类要调用父类的哪个方法。当super处在对象方法中时,调用的是父类同名的对象方法;当super处在类方法中时,调用的是父类同名的类方法。#import

2014-12-13 11:56:25 583

原创 【Objective-C】07-OC对象的继承

1、继承的好处:1.1 继承可以抽取重复的代码,减少代码量,提高代码的利用性1.2 面向对象的多态就是基于继承1.3 继承建立了类与类之间的关系1.4 子类可以拥有中的所有成员变量和方法1.5 当子类想要拥有和父类同名但是不一样的实现方式时,可以重写父类的方法,提高代码的灵活性2、继承的声明2.1 声明和实现父类方法 :@interface Animal:N

2014-12-13 11:08:44 525

原创 【Objective-C】06-OC对象中的self

OC对象中的self,有点像C#中的this。但是又有差异,self可以用来指向当前对象的对象方法,也可以指向当前对象的类方法。而this不能指向C#中的静态方法(类方法)。self用途:1、当方法中声明了一个跟类成员变量重名的变量,直接访问成员变量名时,默认优先访问方法内部声明的变量。当想要访问类的成员变量时,就要用self->成员变量名的方式来访问了。2、谁调用了当前方法,self

2014-12-11 21:45:53 573

原创 【Objective-C】05-OC对象中类方法和对象方法的比较

一、类方法1.1 当当前方法中不涉及类的成员变量时,可以把方法声明成类方法。这样做的好处是可以不用声明类的实例对象,减少内存空间的占用,提高运行效率。即类的方法不依赖于对象。1.2 以加号 + 开头1.3 只能由类(名)来调用1.4 类方法中不能访问类的成员变量。如果访问,会报 error:instance variable 'age' accessed in class meth

2014-12-10 22:15:06 2646

原创 【Objective-C】04-OC对象成员变量的封装规范:get方法和set方法

面向对象的三大特性:封装、继承和多态。其中,成员变量的封装非常常用。OC在这点上和C#本质上是一样的,都是用方法对字段进行封装。成员变量封装成属性的优点显而易见,都是不允许外界直接访问成员变量,而只能通过方法来进行访问。如果该成员变量不想被外界调用,只要不提供对外的接口就可以了。通过封装,可以限制外界对成员变量的读和写操作,以及对写set方法中的参数值进行过滤。下面是成员变量的封装规范:一、成

2014-12-06 13:53:53 1198

原创 【Objective-C】03-OC对象struct类型成员变量的赋值

当OC对象的成员变量是struct类型时,如果直接用c语言的方式直接赋值就会报错,如s->birthday={1990,12,11};就会抛出错误。有两种方法可以解决这个问题:一、声明并初始化一个struct类型临时变量,再整个赋值给birthday成员。二、对birthday成员内部的各个元素分开赋值。#import //性别枚举typedef enum{ Sex

2014-12-06 09:34:40 3205

原创 【Objective-C】02-OC对象作为参数传递给函数

OC对象可以作为函数参数传递给参数,以下简述对象参数在函数中的两种情况:一、对象作为参数传递到函数中,在函数内部对此对象的参数会影响到外部传递进来的对象。二、对象作为参数传递到函数中,在函数内部指向其它的对象后,再对此参数对象进行操作时,不影响外部传递进来的对象。如下文中的例子,函数test1为情况一,函数test2为情况二。#import //声明Car

2014-12-04 23:08:43 3849

原创 【Objective-C】01-一个简单OC类的浅析

刚开始学习oc,感觉跟C#的类有很大的不一样。1、oc类的导入用的是#import关键字。2、oc的基类是NSObject。类对象的创建要显示继承自NSObject。3、oc的关键字都是以@开头,字符串也是以@开头。如@public表示成员变量的访问级别是公共的。4、oc类在@interface和@end中声明,方法在@implementation和@end中实现。5、类的对象

2014-12-04 21:39:35 704

转载 C# WinForm控件之Dock顺序调整

最近被.net winform中的控件布局搞困惑了,由于控件都是使用Dock方式的,操作起来也是比较方便,如果最大化,窗口大小调整等,都可以随着窗口大小的变化而变化。但问题是,.net winform的dock方式是根据先添加的控件顺序进行优先级Dock排列的,假设我想目前有三个控件A、B、C分别以 Top、Bottom以及Fill方式填充窗口即窗口看起来应该是这样的:------

2014-05-01 15:38:35 2192

转载 聚集索引和非聚集索引

聚集索引  一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。   聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。           聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包

2014-03-22 16:54:32 683

转载 Silverlight之AutoCompleteBox自定义过滤ItemFilter

需求分析:现在有表 City( name ,shortName)  eg: city:广州 ,GZ ;上海,SH 在AutoCompleteBox 中输入“G”、GZ或“广”、“ 广州”都自动弹出“ 广州”. 实现 1.xaml代码UserControl xmlns:input="clr-namespace:System.Window

2014-01-21 13:55:28 812

原创 Asp.net AJAX调用后台注册脚本代码

使用asp.net自带的ajax控件,想要调用后台的脚本代码,最先开始用ClientScript.RegisterStartupScript(this.GetType(), "clear", "alert('更改失败。');");一直执行不成功,后来改用ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType

2014-01-02 16:34:08 752

转载 javascript之call方法

call 方法 请参阅 应用于:Function 对象 要求 版本 5.5 调用一个对象的一个方法,以另一个对象替换当前对象。 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, , argN 可选项。将被传递方法参数序列。 说明

2013-12-30 21:10:59 656

转载 在Silverlight中使用SESSION

首先Session是运行在服务器上的,而Silverlight运行在客户端。因此在Silverlight中使用SESSION的说法并不准确,只因大家经常这样搜索才起这个名字。 有两种方法实现Silverlight与Session的关联:方法一、通过WCF使用ASP.NET中的Session[因BasicHttpBinding不支持WCF中的Session,如使用WCF会话将报错 ]

2013-10-25 09:41:37 542

转载 JS操作Json总结

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。    本文主要是对JS操作JSON的要领做下总结。    在JSON中,有两种结构:对象和数组。

2013-05-05 15:07:47 535

转载 清空表数据和删除表truncate、delete、drop

TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 TRU

2013-05-03 15:00:16 1483

转载 SQLServer常用函数

数字函数(*)ABS() :求绝对值。CEILING():舍入到最大整数 。3.33将被舍入为4、2.89将被舍入为3、-3.61将被舍入为-3。 Ceiling→天花板FLOOR():舍入到最小整数。3.33将被舍入为3、2.89将被舍入为2、-3.61将被舍入为-4。 Floor→地板。ROUND():四舍五入。舍入到“离我半径最近的数” 。Round→“半径”。Round(3

2013-05-03 14:58:40 756

Oracle PPT

以前上课时老师的PPT,个人感觉不错,想学Oracle的朋友可以看下,望与诸君共勉。

2009-01-14

数据结构PPT及一点习题

数据结构的PPT,对数据结构感兴趣的可以看下。 另:附带了一点习题

2009-01-14

空空如也

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

TA关注的人

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