- 博客(30)
- 收藏
- 关注
原创 版本管理之SVN
源代码管理工具的起源,为了解决软件开发过程中,由源代码引起的各种繁琐错误。例如,1、版本备份:费空间,费时间。2、版本混乱:备份过多造成混乱,难以找出正确想要的版本。3、代码冲突:多人操作同一个文件(团队开发的常见问题)。4、追究责任:出现严重BUG时,无法得知是谁干的。 源代码管理工具的作用就是,能够追踪一个项目从诞生到定案的过程,记录一个项目的所有内容变化,方便查阅特定版本的修订情况。由于源
2016-02-02 14:30:38
386
原创 AFNetWorking3.0使用
AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前 使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南 将引导您完成这个过程.我们只需要下载AFNetWorking3.0这
2016-02-01 11:53:53
459
原创 屏幕适配之内联函数
在实际开发中,由于手机屏幕尺寸的不同,所以在编程中做屏幕适配是必须要做的事情。屏幕适配的原理就是让视图的大小按比例缩放,即自己定义一个创建视图frame的CGRectMake方法. 代码如下: // 内联函数(屏幕适配) 1、设置视图frame CG_INLINE CGRect CGRectMakeInline(CGFloat x, CGFloat y,CGFloat width,CGFloat
2016-02-01 11:37:47
646
原创 自定义代码块
我们在实际编程过程中,总会遇到许多重复的代码,若是在Xcode中定义一些常用的代码块,就能够提高编程的效率,让我们来讲解一下Xcode中code snippets的使用。 1、新建一个工程,红色框内就是定义好的代码,里面包括系统和自己定义的代码块. 2、 先定义一个视图 3、把代码拖到自定义代码的框内。(红色框内是设置的快捷键) 4、试一下刚刚定义好的代码块,若是出现提示就证明定义成功了.
2016-01-31 23:27:45
731
原创 添加pch全局引用文件
在工程中,我们需要建一个头文件来保存很多类都要调用的宏定义,这样方便其它类的调用,这时我们一般会建一个pch文件,pch文件是全局引用文件,不用导入头文件,其它类就能直接调用里面的东西.
2016-01-31 00:00:02
406
原创 JSON Accelerator(自动生成model类)
对于在实际开发中,网络请求的数据必须要定义一个Model类来保存数据,若是JSON数据比较复杂,分析数据和定义Model类就要花费大量时间.而利用JSON Acelerator能够帮我们生成Model类,这样在实际开发中就能节省大量时间。
2016-01-30 23:13:10
4904
原创 网络请求
// // ViewController.m #define ImageUrl @"http://baike.soso.com/p/20090711/20090711101754-314944703.jpg" //#define ImageUrl @"http://f.hiphotos.baidu.com/image/h%3D360/sign=9eae7c3766d9f2
2015-12-22 19:39:46
383
原创 TabBarController
// // AppDelegate.m #import "AppDelegate.h" #import "GameViewController.h" #import "VedioViewController.h" #import "PhotoViewController.h"
2015-12-21 23:14:52
345
原创 block
// // RootViewController.m #import "RootViewController.h" #import "SecViewController.h" @interfaceRootViewController () @property (nonatomic,strong)UILabel *lab; @end @implemen
2015-12-19 22:51:30
348
原创 TableViewCellEdit
// // RootViewController.m #import "RootViewController.h" #import "Student.h" #import "MyTableViewCell.h" #import "SecTableViewCell.h" #import "AjustFrame.h" @interfaceRootViewController
2015-12-18 22:55:15
389
原创 TableView Edit
// // RootViewController.m #import "RootViewController.h" @interfaceRootViewController() @property (nonatomic,strong)UITableView*tableView; @property (nonatomic,strong)NSMutableAr
2015-12-16 22:14:28
343
原创 TableView
// // RootViewController.m #import "RootViewController.h" #import "SecondViewController.h" @interfaceRootViewController() @property (nonatomic,strong)NSArray *arr; @property(nonatomic,st
2015-12-15 22:55:50
295
原创 UINavigationController
//AppDelegate.m - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindowalloc]initWithFrame:[[UIScreenmainScreen] bounds
2015-12-14 22:49:16
304
原创 UIScrollView && UIPageControl
//RootViewController.m // UISrollView //UIScrollView是可以滚动的view,UIView本⾝不能滚动,子类UIScrollview拓展了滚动⽅面的功能。UIScrollView是所有滚动视图的基类。以后的UITableView,UITextView等视图都是继承于该类。使⽤场景:显⽰不下(单张大图);内容太多(图⽂
2015-12-13 23:28:58
305
原创 UIControl
// RootViewController.m #import "RootViewController.h" #import "MyView.h" @interfaceRootViewController () @property (nonatomic,retain)MyView *v; @end @implementationRootViewCont
2015-12-12 22:46:30
274
原创 TargetAction&&Recognizer
// // RootViewController.m #import "RootViewController.h" #import "MyView.h" @interfaceRootViewController () @property (nonatomic,retain)MyView *v; @end @implementationRootV
2015-12-11 22:39:54
262
原创 UIEvent
UIEvent:事件,是由硬件捕捉的一个表示永和操作设备的对象。 分为三类:触摸事件,晃动事件、远程控制事件 触摸事件:用户通过触摸设备屏幕操作对象、输入数据。支持多点触摸,包含1个到多个触摸点。 // RootViewController.m #import "RootViewController.h" #import "Cha
2015-12-10 22:24:34
353
原创 UIViewController
// // RootViewController.m #import "RootViewController.h" #import "LTView.h" #import "LView.h" #import "SecondViewController.h" @interfaceRootViewController () @end @implement
2015-12-09 22:47:22
257
原创 UItextField 和 UIbutton
// ViewController.m #import "ViewController.h" @interfaceViewController () @end @implementationViewController // UITextField(输入框):是控制文本输入和显示的控件。在App中UITextField出现频率也⽐比较高。iO
2015-12-07 22:24:32
344
原创 UIView及其子类
iOS app = 各种UI控件 + 各种业务逻辑和算法 window是窗口,每一个app都需要借助window将内容展示给用户看。 在iOS中,使用UIWindow类来表示窗口,通常一个应用程序只创建一个UIWindow对象。 window的主要作用是呈现内容给用户,我们不会对window做太多操作。 view(视图):代表屏幕上的一个矩形区域。iOS中用UIVIiew来表示视图 iO
2015-12-04 22:27:38
575
原创 内存管理高级
dealloc是NSObject的一个实例方法,与alloc对应,用于回收开辟的内存空间,这个方法在对象引用计数为0是,有系统自动调用。通常我们在dealloc中释放类的实例变量。 dealloc的使用: - (void) dealloc{ [_name release]; setter方法泄露的实例变量 [super dealloc]; } 便利构造器的内存管理:
2015-12-03 22:48:59
335
原创 内存管理初级
// iOS应用程序出现Crash(闪退),90%以上的原因是内存问题。 在一个拥有数十个甚至上百个类的工程里,查找内存问题及其困难。了解内存常见问题,能帮我们减少出错几率。 内存问题体现在两个方面:内存溢出,野指针异常。 垃圾回收:程序员只需要开辟内存空间,不需要用代码显示地释放,系统来判断哪些空间不再被使用,并回收这些内存空间,以便再次分配。整个回收过程不需要写任何代码,有系统自动完成垃
2015-12-02 22:46:45
285
原创 属性
属性是Objective-C 2.0定义的语法,为实例变量提供了setter和getter方法的默认实现。能在一定程度上简化程序代码,并且增强实例变量的访问安全性。 // main.m #import #import "Person.h" #import "Teacher.h" #import "Student.h" #import "Phone.h" int
2015-12-01 22:58:53
361
原创 类的扩展
// // main.m #import #import "NSString+PlayDota.h" #import "NSDate+ChangeString.h" #import "Person.h" int main(intargc, const char * argv[]) { @autoreleasepool { // NSDate
2015-11-30 23:04:45
288
原创 Block、数组高级:Block语法、Block使用、Block实现数组排序
Block:块语法,本质上是匿名函数(没有名称的函数) 标准C里面没有Block,C语法的后期扩展版本,加入了匿名函数。 C++、JS、Swift等语法,有类似语法,叫做闭包 Block语法和函数指针很相似 。函数指针: int(*p)(int x,int y) = sum; in 函数指针类型int(*)(int x,int y) 即:指向两个整型
2015-11-29 21:33:50
780
原创 字典、集合、数组排序
// 字典、集合、数组排序 //字典用来保存具有映射关系(key-value对)数据的集合,一个key-value对被认为是一个条目(Entry),字典是存储key-value对的容器,与数组不同,字典靠key存取元素,Key不能重复,value必须是对象,键值对在字典中是无序排列的,字典分为可变字典(NSMutableDictionary)和不可变字典(NSDictionary). //与
2015-11-28 22:14:11
373
原创 NSString NSArray NSNumber
Foudation框架是CoCoa编程,iOS编程基础架构,包括:字符串、集合、日期、时间等基础类。字符串,数组、字典都属于Foudation框架,C语言中,字符串是由char(ASCII码)字符组成。OC中字符串是有uichar(UniCode)组成。 NSString,不可变数组,即创建之后,字符串的长度不可改变.NSMutableString是可变数组,即创建之后,字符串长度可以改变。 N
2015-11-27 22:58:08
424
原创 继承、初始化方法、便利构造器
……………………………………………………………………………………………………………………………………………………………. //继承:子类会继承父类所有实例变量以及方法 //self: 谁调用此方法,self就是谁。 // self: 调用方法,首先在当前类寻找实现,如果有实现,直接调用,如果没有,去父类中寻找实现,找到即执行完毕。 //super 是编译器指令,不是对象。
2015-11-25 22:44:37
308
原创 实例变量可见度和方法(setter,getter 方法)
// 一、 // main.m // OC相对于C来说进行了一个优化, #import 相对于 #include 来说:可以防止重复导入头文件引起的编译错误 //#import"AudiCar.h" //#import"AudiCar.h" //不报错 //#include"AudiCar.h" //#include"AudiCar.h" //报错
2015-11-24 22:43:42
350
原创 OC 类的创建及初始化方法
// 创建对象(OC中几乎所有的对象都存在堆区) ,NSString一些创建方式是存在常量区。 // 发送消息(函数的调用):[消息接受者方法名]; // 如果为 - 方法,消息接受者为对象, // 如果为 + 方法,消息接受者为类名。 一、 #import #import"Phone.h" #import "Car.h" #imp
2015-11-23 22:54:48
592
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人