- 博客(49)
- 资源 (16)
- 收藏
- 关注
原创 ISOUI控件--创建画板,UIView,UILable,UITextField,UIButton基本属性
1 创建画板Xcode6相对于Xcode5有一些区别,第一个是在创建工程的时候取消了空工程选项,第二就是在创建的单实例工程中,在初始化方法中不再自动生成画板创建代码,需要手动填写。创建画板代码如下://创建UIwindow,就是画板self.window = [[UIWindow alloc]//获取屏幕大小initWithFrame:[[UIScreen mainScreen] b
2015-02-01 15:46:52
1267
原创 协议(delegate)和代理模式
所谓的协议(delegate)就和Java中的接口差不多,在里面只能进行一些方法的声明。OC也是单继承多实现的,而"实现",就是通过delegate“实现”的。相比于Java,OC中的协议的好处是,协议可以指定其所定的方法是否为必须实现。还有一个Java的特性在OC中也可以使用,就是类似泛型。定义参数的时候就可以通过id _boyFriend;在OC中,id表示任何类型,具
2015-01-20 21:19:13
1054
原创 漫步IOS--引用计数函数和深浅拷贝
引用计数函数1 alloc 开辟内存空间,让被开辟的空间的引用计数变为1,这是从0到1得过程什么时候看到alloc什么时候开辟空间。类方法是没办法去调用实例方法的,也没办法改变实例变量。凡是一次alloc配套一次release或者autorelease。2 retain引用计数+1,他的作用是将对象的指针指向一个内存,而并不需要去开辟新的空间。凡是一次retai
2015-01-20 16:54:43
1252
原创 漫步IOS--日期类及其函数
OC里的日期函数是NSDate和Java差不多。常用函数1 初始化NSDate *da = [NSDate dateWithTimeIntervalSinceNow:0];根据系统时间初始化得到一个NSDate。这里需要提一句。在IOS系统内部,对于NSDate的存储都是按照零时区的时间存储的。怎么说呢?假设现在的系统的时间是晚上八点,我们是处在东五区的,那么现在我们输出这个da实例的时间
2015-01-19 20:57:24
658
原创 漫步IOS--指定比较器
对于基本数据类型的排序可以根据数据的值进行比较,但是如果是对于类进行排序比较呢?该按照哪一个属性的值进行比较排序呢?而很不巧的是,在进行排序的时候很多时候排序的并不是简单地基本数据类型。这个时候,OC和Java一样,提供了一个比较器的功能。但是OC与Java在实现上有些不一样。OC是数组可以调用一个方法进行排序,在这个方法中可以指定排序的规则,就是我们写好的compared方法,然后sel
2015-01-17 19:30:07
759
原创 漫步IOS--字典类(NSDictionary)
字典类:NSSdictionaryOC里面的字典类也叫Key-Value,就和Java里面的map差不多,只是没有Java里面那么多种类的Map,OC里面只有两种,可变字典和不可变字典,还是与字符串和数组一样,可变字典包含了所有不可变字典的方法,也可以通过mutableCopy实现数据从不可变到可变数组的拷贝。1 初始化NSDictionary *dic = [[NSDictionar
2015-01-17 15:14:06
1476
原创 漫步IOS--数组函数
和字符串类一样,函数数组也分为可变和不可变两种,不可变数组包含了所有可变数组的方法。还有一个就是不可变数组初始化之后数组的内容就不可变了,除非将该指针指向另一块内存区域。不可变数组:NSArray1 初始化NSArray *arr1 = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];和不可变字符串的初始化一样,如果在数组初始
2015-01-17 11:50:31
526
原创 漫步IOS--MAC系统下的简单文件加密
有时候我们在硬盘上保存东西时候,有一些文件是不想别人看见的,可能是一些以前的伤心事儿,或者只是一些工作上的文件,以前公司的项目代码什么的,涉及到保密协议什么的,或者自己写的核心代码工程,总会有时候需要进行一下加密工作。但是,不像windows,Mac下的加密软件并不是那么多。但是给我的感觉是,苹果不会考虑不到这种问题的。然后我看了一下系统自带的APP,又问了一下度娘,找到了一种简单加密的方法,
2015-01-17 11:06:44
704
原创 漫步IOS--OC的面向对象的封装和继承
OC是一门面向对象的语言,所以和Java一样,面向对象所具有的三大特性他也是必定具备的,多态暂且不提,先解释一下封装和继承。1 封装个人理解,所谓的封装性,见名知意,即保护自身的方法和属性不被不该的人看见和使用。也可以理解为控制对于我们的类的操作权限。实现思路:实现思路就是配合访问权限标记将不想让外人看见的部分(变量和方法)进行隐藏,然后在合适的地方提供一个我们写好的方法对其进行访
2015-01-10 19:42:17
534
原创 漫步IOS--函数帧、内存分配函数、内存管理函数
说到内存,有必要总结一下内存的区块划分。因为确实和Java中的有些偏差。在电脑的内存中分为一下五个模块。œ栈区:这个区由系统分配,存储的是局部变量,特点是先进后出。通常一个电脑的栈区容量大概是7-8M左右的容量。œ堆区:内存中相对来说比较大的一块区域,而我们手动申请的内存的所在就是这里。œ静态区:这里存储的时全局变量,像用static声明的变量,或者写在大括号外面的变量。此区的变量的特
2015-01-06 15:04:41
745
原创 漫步IOS--结构体指针、结构体数组指针,结构体Char数组声明
1 结构体指针结构体指针也和正常的指针是一样的使用,只是多了一种调用方法point m={1,0},n={4,0};point *p_m ,*p_n;point是一个结构体,调用的时候先声明一个对应类型的指针变量,然后再像正常的指针调用即可。只是在调用的时候可以多了一种新的调用方式如下p_m->x另外值得一提的是:原先的那种方法在作为结构体调用的时候会出现错误,即下面的代码是会报错的
2015-01-02 16:23:34
1427
原创 漫步IOS--指针细节3:指针定义、TypeDef别名声明、结构体内存存储
1 指针定义感觉对于指针的学习有点儿倒序学习了,主要是这一块真的需要来回的加深理解。首先,指针的定义是按如下的格式定义的。int t = 10;int *p_0 = &t;这里需要提一下,在定义的时候*只是起到标识作用,告诉编译器这个p_0变量是一个指针变量。过了定义这一行,用这个变量就得写p_0了,如果再写*p_0就得按照之前的写的*是取地址所指向的变量,&是去变量所在的地址。
2015-01-01 14:26:50
1124
原创 漫步IOS--二维数组定义原则、strlen()初探、
1二维数组定义原则二维数组的定义:可以不给定行数,但必须给定列数。编译器会根据给出的列数和初始化元素的个数确定有几行。2 strlen()初探strlen()是求一个字符串的长度。在解决问题的时候发现了一个挺好玩的事情。是这样的,对于下面的代码,你觉得他会输出啥呢?int main(int argc, const char * argv[]){ char a[][
2014-12-29 15:25:13
1949
2
原创 漫步IOS--指针细节2:*与&、指针初始化问题、指针数组和数组指针
1 * 与&之前的指针的总结漏了很重要的一句话,是关于* 和& 的定义。我觉得对于初学者来说,把这两句作为卡尺去衡量* 和& 是很有效果的,就像学Java时说的万物皆对象一样。*:取指针所指向的对象的内容。&:取地址运算符。再举个简单地例子。void swap(int *p1,int *p2){ int a ,b; p1 = &a;}在上面的代码中,调用swa
2014-12-29 11:30:37
854
4
原创 漫步IOS--部分排序一:冒泡排序、选择排序和快速排序
1 冒泡排序冒泡排序的思路:从序列的一头开始,每次比较相邻的两个数,将大的往后移.当走到序列结尾的时候,最后一个即是最大的;然后再从头开始比较,只是这次比较到倒数第二个就好,因为第一个已经确定是最大了。如此往复,直到没有需要比较的元素为止。个人表述有限,可参考维基百科介绍。参考代码:void sortUp(int arr[],int size){ for (int i = 0;
2014-12-26 14:39:15
2177
原创 漫步IOS--屏幕局部放大、常用的快捷键、XCode设置显示行号
1 屏幕局部放大在公司开会或者集体讨论的时候经常需要放大屏幕,MAC集成了提供了屏幕放大的应用。按住Control,双指上划即是放大,下滑即是缩小,滚轮也有同样的效果。如果没有起效果可能是没有打开该功能。【系统偏好设置】-【辅助功能】-【缩放】。将使用键盘快捷键来缩放勾选上就可以了。也可以看到它默认的快捷键。补充一点,默认的是全屏的缩放,在airplay中显示的效果不是很理想,可能有时候需
2014-12-25 15:32:16
4714
原创 漫步IOS--三目运算符、switch、枚举
1 三目运算符三目运算符的定义 表达式1?表达式2:表达式3;三木运算符也是有返回值的,返回值等于对应的表达式的返回值。2 switch在c语言中,switch只支持整型,但是这里的整型包括:整型、字符、布尔和枚举型。但是不论是长整型还是短整型,还是字符型,本身都是整型的一种,switch不支持浮点型,double和float。3 枚举枚举的数值是常量。具体
2014-12-25 10:35:53
1361
原创 漫步IOS--关闭DashBoard
1 关闭DashBoard.在Mac下missionControl中,总会有一个桌面,上面显示的只是计算器,天气和日历等小工具的。看着怪别扭的,直接删还删不掉。那么问题来了?这东西能让他离我们远远的嘛?可以!这个东西叫DashBoard,Mac的Dashboard用来显示股票、日历、天气预报等小widget,应该在Leopard时代就有了。可以说是遗迹。不用的话可以关掉。关闭Dashb
2014-12-24 15:34:03
806
原创 漫步IOS--MAC键盘输入
1 MAC键盘输入很多人在用MAC系统的时候用的键盘都是通用的那种外接键盘。这时就会遇到一些问题。例如scanf输入的时候,按小键盘的数字没问题,但是按回车的效果和预期的不一样。这是因为Mac系统默认的键盘是没有小键盘的。在键盘上每一个按键都有一个对应的ASCII值,正常的回车键对应的应该是13,而小键盘中的那个回车键对应的ASCII应该不是13,而是Mac编码中另一种可以换行的数值,所以在进
2014-12-24 08:48:04
538
原创 漫步IOS--格式化输出字符、运算符,字符串数组赋值。
1 格式化输出在控制浮点型数据输出的时候,可以通过在%f之间添加4.2这种格式控制从而达到格式化输出的效果。2 运算符取余运算符的做哟两遍必须都是整数,所以,浮点型基本数据是没办法进行取余运算的,这也是很符合逻辑的嘛。值得好好注意的是两个整数相除,最后的结果还是个整数,想要得到小数部分进行强制转换即可。%04d,用0补齐成四位数,用其他的补齐会报错,至于原因,有
2014-12-23 21:23:16
829
原创 漫步IOS--Xcode修改字体、多工程创建和切换
1 Xcode如何修改编辑框中的字体大小?2 Xcode中如何去创建多个工程?全部写在一个工程里显得太乱了。想创建多个工程怎么办?
2014-12-23 20:51:24
832
原创 漫步IOS--指针细节1
1 变量赋值机理:以将int i= j;为例。先根据j的内存地址,取出j的值,然后再根据i的地址找到i的内存地址块,将j的值写进去。这就是内存的存取操作。只是在编程看来我们只是对变量进行的操作,其实地址相关的操作只是被隐藏了。2 指针和指针变量的区别:C语言中又一种特殊的变量,这种变量所存储的值就是内存中的地址,这种变量叫指针变量,他所存储的地址叫指针。必须一提的是,指针变量也
2014-12-23 10:56:24
460
原创 漫步IOS--数组、sizeof和函数形参
首先声明,该系列博客记录的重点是C、OBject-C(以后简称OC)相对于Java的不同,还有一些我在编码练习过程中遇到的问题还有解决方法,而并不是一份流水式的完全的学习笔记。还有一些内容是C和OC中特有的东西等。 一、数组在C中数组的定义只有一种语法: 类型 名称[大小] 例如 : int Arr[10];没有第二种定义方法,对于他的赋值是和Java一样的。二、
2014-12-23 09:41:52
1634
原创 漫步IOS--Xcode断点调试
出了错误第一反应肯定是对代码进行断点调试查看参数的变化是否符合预期。那么XCode的断点调试如何进行?我在论坛找了一篇帖子,贴上地址。http://www.cocoachina.com/ios/20141219/10709.html我看的不多,只看了使用的最基本的方面。这里总结一下1 如何打断点?打断点很便捷,只需在要打断点那一行的数字标号前的空白处单击一下即可。再
2014-12-23 09:40:03
768
原创 漫步IOS--前言
决定要专心学好IOS,所以专门开通了一个新浪博客,记录一下学习的每一步。开通这个博客的目的很简单,保持我一贯的作风,将开源分享进行到底。将我的所学还有所有的资源分享给所有需要的人,我的观念是人与人之间的差距产生的原因从来不是每个人的资料所有量的差别,而是对资料使用率的差别。开通这个博客的另一个目的也是作为一种监督自己的手段,强制自己每天进行学习回顾和总结,吃点儿苦不算什么,怕的是不
2014-12-23 09:39:04
469
原创 安卓经典功能组件篇1——实现界面的异步刷新
最近用到异步刷新界面,写了一个简单的Demo,实现的功能是,Activity打开的时候显示一个ListView,然后开启异步线程,sleep3秒钟,模拟网络连接获取数据等耗时操作,然后将新的数据加到ListView中,并刷新界面显示所有数据。未完,一会儿添加。
2014-04-03 19:30:08
732
原创 安卓经典效果组件篇5——侧滑菜单的实现
话不多说,先上效果图实现的思路,这里我是参考的网友牛人的,基本的意思是写了两个布局,主布局设置背景色遮住菜单布局,就是所谓的覆盖。这时候监听侧滑响应,一旦侧滑,主布局跟着滑动,即可将第二个布局,即菜单布局显示出来,只要注意一下菜单布局的宽度就好了。下面我们来看一下具体的代码实现首先是先定义一个布局类,继承ViewGroup。这个类是定义了菜单文件的一些动作和属性
2014-04-02 12:47:41
1851
原创 JDBC连接mysql获取结果集行数
利用ResultSet的getRow方法来获得ResultSet的总行数Java代码ResultSet rs; rs.last(); //移到最后一行 int rowCount = rs.getRow(); //得到当前行号,也就是记录数 rs.beforeFirst(); //如果还要用结果集,就把指针再移到初始化的位置
2014-03-21 19:48:16
1483
原创 安卓手机调试,出现can't connection to 10.0.2.2
这个出现的原因是无法连接到本机上的网络。想要使手机上的程序可以连接到本机上,有两点要求1 双方必须在同一个子网下,即可以互相ping通,可以在手机上用超级终端ping2 电脑服务器方面防火墙允许java程序通过,通常是关掉防火墙和360等即可接下来我们看一下这个问题10.0.2.2相当于网络编程里的localhost,就是地址是本地,出现问题了,那么就试试把这个地址直接
2014-03-21 14:04:09
923
原创 JDBC 连接mysql,存储出现中文乱码
这个有两个可能的原因:第一个是本身的mysql服务器字符编码问题,这个在安装的时候可以选择编码,默认的是lartin-1编码格式,修改为gbk或是UTF-8即可。第二个是在JDBC连接MySql的时候编码不统一,这个在连接URL的地方指定一下编码就好。url = "jdbc:mysql://localhost:3306/estate?useUnicode=true&characterE
2014-03-21 13:54:52
691
原创 问题旅程篇5——写好软件,将软件名字修改为汉字
最近着手写了一个软件,但是软件生成的apk默认的名字很不喜欢,想修改为汉字,试过了集中很可笑的方法,给大家列举一下吧首先考虑的是java支持汉字类名,直接将启动Activity的名字换成汉字名,结果清单文件AndroidManifest.xml文件报错,不支持汉字。再考虑的是问度娘,网上盛传的是采用apk修改器,对完成的apk反编译,再进行修改配置文件,再进行编译,感觉很麻烦,不至于。
2014-03-11 11:53:16
675
原创 问题旅程篇4——ActionBar的menu菜单点击过频消失解决
自己写了一个ActionBar的菜单,效果很好,但是发现压实点击的过频,menu菜单就会离奇的消失。后来在网上仔细的浏览才发现时MenuItem的问题。MenuItem有几个模式。MenuItem.SHOW_AS_ACTION_IF_ROOM 有位置才显示MenuItem.SHOW_AS_ACTION_ALWAYS 始终显示MenuItem.SHOW_AS_ACTION_N
2014-02-28 15:50:54
709
原创 经典效果组件篇4:安卓的tab标签控件
本系列博客持续更新,由浅入深,欢迎关注和收藏,也欢迎指正与评论标签控件是简洁应用里常用的,但是在网站上很少看到,而且乱起八糟的,太多的东西搀和在一起。所以自己写了一个简单纯净的Demo。话不多说,先上效果图 点击想要打开的标签页,即会切换到对应的标签页,并显示标签内的内容,内容是通过layout和Activity来布局和设定的,开放度和自由度比较高为了保证最简单Demo的原则,所以
2014-02-25 14:39:52
1747
异步刷新界面的最简Demo源码
2014-04-03
异步加载数据刷新界面最简Demo源码
2014-04-03
异步刷新界面纯净Demo源码
2014-04-03
左侧滑动菜单栏最简Demo源码
2014-04-02
安卓手机发送短信最简源码Demo
2014-03-19
安卓调用系统控件实现拨打电话源码,纯净Demo
2014-03-19
Tab控件使用的最简纯净Demo
2014-02-25
自定义Dialog的最简Demo
2014-02-25
Activity实现透明的最简洁Demo
2014-02-24
Java学习笔记+自己见解感悟+问题解决备注
2014-02-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人