- 博客(17)
- 收藏
- 关注
原创 关于在storyboard中使用静态cell的注意事项
关于在storyboard中使用静态TableViewCell的可变高度的使用技巧 起因:在storyboard使用之前,创建tableView视图,通常是采用代码控制数据源,通过数据源数据的长度来决定tableView中cell的个数,而这样做的好处还有就是可以通过将已经在界面中展示的cell放入缓存池中,以供后续数据展示再从缓存池中取出进行复用。这样做的好处是为了防止数据过大时创建大量的ce
2015-11-07 02:17:30 2348
翻译 动画时间控制
#动画时间控制`CAMediaTiming`协议,是被`CAAnimation`以及其子类`CABasicAnimation`和`CAKeyframeAnimation`所实现的。所有和时间相关的属性都来自于他,比如—–`duration`, `beginTime` 和 `repeatCount` 。总的来说,这个协议定义了八个属性,他们之间互相组合可以产生一系列的精确清晰的时间方案。##Visu
2015-08-24 14:16:52 1341
转载 UIButton和UIView的区别
1.显示图片 1> UIImageView只能一种图片(图片默认会填充整个UIImageView) image\setImage: 2> UIButton能显示2种图片 * 背景 (背景会填充整个UIButton) setBackroungImage:forState: * 前置(覆盖在背景上面的图片,按照之前的尺寸显示) setImage:forState:
2014-12-01 21:30:31 740
原创 UIView按钮代码优化
1、当多个按钮事件监听代码有重复,可利用tag标示抽取2、利用block将首尾重复得代码进行封装,类似于java中的面向切面的编程(代理)- (void)animationWithBlock:(void (^)())block { // 开始动画 [UIView beginAnimations:nil context:nil]; // 设置动画的执行时间 [UIView setAnimat
2014-11-29 11:35:59 474
原创 苹果开发基础——NSArray排序
// 数组排序1(selector自然排序) NSArray *array = @[@"2", @"5", @"4", @"8"]; // 返回一个排好序的数组,原数组不会改变 // 制定元素的比较方法 NSArray *sortedArray = [array sortedArrayUsingSelector:@selector(compare:)];
2014-11-20 13:09:25 415
转载 深入探讨 Java 类加载器
类加载器(class loader)是 Java™中的一个很重要的概念。类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™中的应用。29 评论:成 富, 软件工程师, IBM
2014-09-22 22:55:17 371
转载 Java的六种存储类型
在Thinking in java里,列举了Java的六种存储类型 1.寄存器 编写过汇编程序的应该对寄存器非常熟悉,那时候用的ax,bx,cx,dx等等。寄存器在CPU里面,所以速度非凡快,但是数量非常有限。在java中无法直接和寄存器打交道,不过在c中是可以声明寄存器变量的。 2.栈空间 写过汇编的肯定感到非常亲切,在汇编程序里不就是压栈和出栈吗?有一个指针控制栈空间,分配
2014-09-20 22:45:51 2185
原创 设计模式专题
一、单例设计模式1、饿汉式代码实例: class Single { private static final Single s = new Single(); private Single(){} public static Single getInstance() { return s; }2、懒汉式(重点)【1】传统实现
2014-09-03 22:07:16 389
转载 overload与override的区别
overload与override的区别override(重写,覆盖) 1、方法名、参数、返回值相同。 2、子类方法不能缩小父类方法的访问权限。 3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。 4、存在于父类和子类之间。 5、方法被定义为final不能被重写。 overload(重载,过载) 1、参数类型、个数、顺序至少有
2014-09-03 11:56:20 333
原创 关于tcp套接字中的的shutdown问题
Socket s = new Socket("192.168.1.254",10006); BufferedReader bufr = new BufferedReader(new FileReader("IPDemo.java")); PrintWriter out = new PrintWriter(s.getOutputStream(),true); String li
2014-09-01 09:06:57 761
转载 Java中的泛型方法
Java中的泛型方法 泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test{}。这样就定义了一个泛型类Test,在实例化该类时,必须指明泛型T的具体类型,例如:Test t = new Test();,指明泛型T的类型为Object。 但是Java中的泛型方法就比较复杂了。 泛型
2014-08-19 01:11:37 317
转载 Java实现几种常见排序方法
日常操作中常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶
2014-08-14 22:31:09 656
转载 Java线程池使用说明
一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是限制系统中执行线程的数量。
2014-08-11 22:42:04 296
转载 浅谈并发与并行(一)
浅谈并发与并行(一)一、引言 前天在GitHub上看到一幅图,问如何向五岁的小孩讲解并发和并行。然后有人以这幅图做答: 这幅图有点儿意思,用咖啡机的比喻来形容并发和并行,从中最直接的体会是,并发是有状态的,某一线程同时执行一个任务,完了才能进行到下一个,而并行是无状态的。 近些年,计算机的处理能力成指数能力增长。处理能力也越来越快,以前的
2014-08-09 22:43:21 673
转载 异常链
一.异常链常常会再捕获一个异常后跑出另外一个异常,并且希望把异常原始信息保存下来,这被称为异常链。在JDK1.4以前,程序员必须自己编写代码来保存原始异常信息,现在所有Throwable的子类子构造器中都可以接受一个cause对象作为参数,这个cause就异常原由,代表着原始异常,即使在当前位置创建并抛出行的异常,也可以通过这个cause追踪到异常最初发生的位置。只有Error,Excep
2014-08-07 21:40:30 449
转载 浅谈异常Exception
一. 异常的定义在《java编程思想》中这样定义 异常:阻止当前方法或作用域继续执行的问题。虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常。绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败。之所以java要提出异常处理机制,就是要告诉开发人员,你的程序出现了不正常的情况,请注意。记得当初学习java的时候,异常总是搞不太清楚,不知
2014-08-07 21:20:11 397
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人