Object-C中的Category

Object-C中的Category其实是一种对于类的方法的扩充,有些类似于类的继承,但是和继承还是不一样的。下面我们通过一个例子还说明一个OC中的Category的不同。首先是.h文件,一般的命名规范为这样NSString+ReverseString.h,具体的代码如下// //NSString+ReverseString.h //Catagory // //Createdbybird...
Category Object-C

Object-C中的协议Protocol

在写C# 的时候都会有接口interface这个概念,接口就是一堆方法的声明没有实现,而在OC里面,Interface是一个类的头文件的声明,并不是真正意义上的接口的意思,在OC中,接口是由一个叫做协议的protocol来实现的。这个里面可以声明一些方法,和C#不同的是,它可以声明一些必须实现的方法和选择实现的方法。这个和C#是完全不同的。下面我们就用一个例子来说明这个吧。首先是MyProtoco...
Protocol协议 Object-C

动态预览Xib的实现

今天看了一篇介绍Xcode6的新功能,动态预览Xib的文章,做了个Demo试验下,这里写下总结备用。写一个TestView继承于UIView,然后写个对应的xib,把xib的名字设置成TestView,这是标准的用xib加载这个view必须得条件然后xib里把这个View的backgroundColor设置为黑色,恩,看起来就是黑色的。如果想要把背景色改为棕色或者更复杂的事情,那么就需要改代码然后...
动态预览 Xib实现

iOS UIPickerView的简单实用

其实UIPickerView和UITableview的实现方法中,大致是相同的,就连作用都是一样的,只是运用在了不同的效果上而已,那么下面就记录几个方法就可以实现UIPickerView的效果:1、设置UIPickerView的列-(NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView;2、设置UIPickerView...
iOS开发 UIPickerView

14个Xcode中常用的快捷键操作

你戳进这篇文章的目的在于想要快速的对代码文件进行操作,或者是让Xcode的各面板更为适应你小本子的屏幕。在Xcode 6所有快捷键中下列这些是首当其冲应当学习的。在你学习到如何使用之后,也许就再也离不开它们了。Xcode导航快捷键1.工程导航器:Command+1快速浏览代码、图片以及用户界面文件。2.显示/隐藏导航器面板:Command+0当你在对屏幕进行截图的时候可能会想要隐藏起与你感兴趣内容...

高效的把NSMutableArray变成NSArray

我们在方法内部可能会用NSMutableArray,但是返回的时候希望其他人不去改我们的ArrayNSMutableArray*array1=[@[]mutableCopy]; for(inti=0;i10000000;i++) { [array1addObject:@(i)]; } returnarray1;这个时候我们通常的做法是拷贝array1或者是生成一个新的array1retu...
NSArray NSMutableArray

改变UITableView的headerView、footerView背景颜色

问题改变UITableView的header、footer背景颜色,这是个很常见的问题。之前知道的一般做法是,通过实现 tableView: viewForHeaderInSection: 返回一个自定义的View,里面什么都不填,只设背景颜色。但是今天发现一个更简洁的做法。更简洁的方法对于iOS 6及以后的系统,实现这个新的delegate函数即可:-(void)tableView:(UITab...
footerView UITableView headerView

移动App开发中的View解耦问题

这几天在做给IOS代码降耦的事情,顺便唠叨几句开发中的View解耦问题。首先,我们先定位一下View的角色:View应该只操心前/后景色,字体属性,布局特性,x/y/width/height等纯视觉属性。不应该操心数据加载、修改,事件响应等Model和Controller关心的事。当然,也包括自定义的View。接下来讨论针对这个角色在实际开发中如何降低View部分耦合对整体架构的冲击。1、View...
App开发 View解耦

UILable文字滚动 跑马灯

有时候会遇到UILabel中的内容超出长度,显示不完全的问题。有一种解决方法是通过动画字幕来实现,比如:字幕向左或者右滚动字幕来回滚动本文以后者为例来说明吧。这里先介绍UIView的通过Block实现的Animation以及其参数控制,最后是实现滚动字幕的代码。1、UIView有方便的动画实现方式,SDK4.0以上,提供了三个Block的动画方式:[plain]viewplaincopy +(v...
UILable滚动 跑马灯

OC内存管理

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