- 博客(24)
- 收藏
- 关注
原创 安装最新ruby镜像出现Error fetching https://gems.ruby-china.org/: bad response Not Found 404。。。
由于域名变更,导致 https://gems.ruby-china.org/ 无法响应,将.org 改成.com 就可以了
2018-09-12 22:03:42
3943
1
原创 项目文件夹的规范
原则 A-B-C-D-E-H 思想按照 M-V-C-S-N MVC+STORE+ NETWORK主要存放 appDelegate 程序的入口出口,管理程序的声明周期,跟其他应用程序的交互,跟苹果服务器的交互 BaseClass. 处理整体APP 的风格 存放管理 UI 的基类 处理自定义的 Tabbar 和 NavBar CodeClass 存放自己开发代码 按模块划分, 新版
2015-12-21 20:50:56
740
原创 NStimer(计时器)实现按钮的发送验证码的一个小demo
工程文件: 根视图控制器的代码不说了,主要的代码在 RootViewController.m中:#import "RootViewController.h"@interface RootViewController ()// 直接赋值的不需要在dealloc中释放// 将计数器的初始值设置成属性方便调用@property (nonatomic,assign)NSInteger numb
2015-11-17 23:07:18
606
原创 利用UISlider和 UIImageView实现跑图
**UISlider 滑块 知识点: 初始化:initWithFrame:(CGRect)frame 核心方法: - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents; // 设置滑块的初值 最大值 最小值 // 如果想设置初始位置 需要先把最大最
2015-11-17 22:12:58
698
原创 UISegmentedControl 分段控制 一个小demo
**分段控制 (UISegmentedControl) 知识点: 分段控制的创建方法一般用initWithItems:(NSArray *)array 这个数组中的对象必须全是字符串对象,或者图片对象,并且图片对象还必须是镂空图才能显示 重要的属性: @property(nonatomic) NSInteger selectedSegmentIndex; 核心方法: -(void)a
2015-11-17 19:59:16
615
原创 UI阶段 protocol/delegate设计模式
问题:我怎么实现通过点击,一个UIImageView的对象,实现相应的操作,这里以更换图片为例思路二:仿照UIButton的target/action设计模式 (思路一请参阅上一篇)(参考UITextFieldDelegate设计) (MFC 手动管理内存)// 协议可以单独创建,也可以在类中创建 这里就在类中创建 首先还是声明一个ButtonImageView的类 创建一个协议Butt
2015-11-16 23:01:01
500
原创 UI阶段的 Target/Action设计模式
问题:我怎么实现通过点击,一个UIImageView的对象,实现相应的操作,这里以更换图片为例思路一:仿照UIButton的target/action设计模式 (MFC 手动管理内存)创建一个类继承UIImageView,来实现该功能 ButtonImageView.h#import <UIKit/UIKit.h>@interface ButtonImageView : UIImageView@
2015-11-16 21:33:50
526
原创 UI学习第一天UIView 和UILabel
UILabel的属性:// 设置显示的内容 默认为nil @property(nonatomic,copy) NSString *text;// 设置字体大小 默认nil (system font 17 plain) // 常用构造的字体大小方法是 [UIFont systemFontOfSize:CGFloat]; @property(nonatomic,
2015-11-10 22:19:50
454
原创 OC大作业_通讯录的实现
OC上机考试试题 ————通讯录 要求描述:⽤OC语言完成简易通讯录(实现增删改查)功 能. (注:使⽤用MRC) 一、功能描述: main函数中通过使用Person类和AddressBook类,创建对象、调⽤方法,实现以下要求 : 1).使⽤便利构造器创建四个Person类的实例(联系人). 姓名:Lucy 性别:⼥ 电话:123 年龄:21 姓名:Joe 性别:男 电话:456 年
2015-11-09 21:13:18
1477
原创 OC学习_手动管理内存在写代码中的一些规则总结
一.类声明属性的内存管理 写完所有属性时,第二步就是在对应的.m文件中,复写dealloc方法 基本数据类型的属性不需要释放 剩余有几个属性就写几个属性的release. 这里使用[_属性 release]; 而不用[self.属性 release]; 是因为self会调用 他的get方法,其中有autorelease方法,这就显得有点画蛇添足了,虽然也会release,没有_属性直接,
2015-11-09 19:21:49
630
原创 OC 学习第十天_⼀、属性的内部实现原理 ⼆、dealloc内释放实例变量 三、便利构造器⽅法的实现原理
⼀、属性的内部实现原理 下面我将通过一个例子来引导出为什么assign,retain,copy的内部实现语句为什么要那么写,那么写是为了达到什么效果. 新建一个工程,将内存管理改成手动设置. 新建一个Person类,它有属性name.// Person.h#import <Foundation/Foundation.h>@interface Person : NSObject//这里为什
2015-11-07 21:23:01
481
原创 OC学习第九天_内存管理机制
⼀、内存管理介绍 为什么要使⽤内存管理 iOS应⽤程序出现Crash(闪退),90%以上的原因是内存问题。 在⼀个拥有数⼗个甚⾄是上百个类的⼯程⾥,查找内存问题极其困难。了解内存常⻅问题,能帮我们减少出错⼏率。 内存问题体现在两个⽅⾯:内存溢出、野指针异常。内存管理的⽅式 垃圾回收(gc) MRC(Manual Reference Count) ARC(Auto Reference C
2015-11-06 20:53:56
708
原创 OC学习第九天_1 内存泄露 内存溢出 野指针异常
1.什么是内存泄漏 用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元,不能被任何程序再次使用,直到程序结束。即所谓内存泄漏。简单的说就是申请了一块内存空间,使用完毕后没有释放掉。 它的一般表现方式是程序运行时间越长,占用内存越多,最终用尽全部内存,整个系统崩溃。由程序申请的一块内存,且没有任何一个指针指向它,那么这块内存就泄露了。
2015-11-06 20:14:24
2625
原创 OC学习第八天_属性 属性的Attribute 点语法 KVC
⼀、属性 属性 属性是Objective-C 2.0定义的语法,为实例变量提供了setter、 getter⽅法的默认实现 能在⼀定程度上简化程序代码,并且增强实例变量的访问安全性。 属性的定义 属性的声明:使⽤@property声明属性 例如:@property NSString *name; 相当于@interface中声明了两个⽅法(setter、getter): - (vo
2015-11-04 18:50:46
580
原创 OC学习第七天_2 类的拓展 Category Extension Protocol delegate
⼆、类的扩展 Category Category也叫分类或类⺫ 主要作⽤是为 没有源代码 的类添加⽅法。 通过Category添加的⽅法会成为原类的⼀部分。从⽽达到扩展⼀ 个类的功能。 如何定义 Category 新建⽂件 选择Objective-C Category模板 填写类名和分类名 .h⽂件添加⽅法声明 .m添加⽅法实现 Category的声明 NSString+S
2015-11-03 18:37:12
1081
原创 OC学习第七天_1NSDate NStimeFormatter NSTimeZone
⼀、NSDate和NSDateFormatter NSDate的使⽤ 在iOS开发中,NSDate的使⽤场景很多,⽐如:聊天程序⾥:⼏分 钟前,昨天,⼏天前的计算;⺴络请求中的时间戳(计算当前时间距 离1970年1⽉1⽇的秒数) NSDate的使⽤ NSDate是Cocoa中⽤于处理⽇期和时间的基础类,封装了某⼀给定的 时刻(含⽇期,时间,时区)。 使⽤+date⽅法获取当前时间
2015-11-03 14:35:27
874
原创 OC学习第五天_字典、集、数组排序:字典类、集合类、数组数组排序、字典、集合的快速遍历、数组排序
⼀、字典类 如何存储下⾯的数据 name:张三;sex:男;age:18 filmName:⻛暴;playCount:100000次;price:60元 项⺫开发中,很多时候都会⽤到上述类型的数据。 如果不使⽤⾃定义的类(Person、Film),有什么⽅法存储上述数 据? 字典简介 字典⽤于保存具有映射关系(key-value对)数据的集合。 对于“name:张三”来讲,key就
2015-11-02 20:43:51
567
原创 OC 学习第六天_Block的使用
Block、数组⾼级⼀、Block定义Block简介 Block:块语法,本质上是匿名函数(没有名称的函数) 标准C⾥⾯没有Block,C语⾔的后期扩展版本,加⼊了匿名函 数。 C++、JS、Swift等语⾔,有类似语法,叫做闭包。 Block语法和函数指针很相似。 课程回顾-函数 函数:C语⾔中,实现某⼀功能的代码段。 完整的函数包含两部分:函数声明、函数定义 函数声明,即函数原
2015-11-02 19:47:29
490
转载 property declaration 属性声明
property declaration 属性声明为实例变量指定属性(attributes)的途径, 可让编译好器生成 无泄漏和线程安全的访问实例变量的方法.@property 就是对应的编译器指令声明一个与数据成员同名的属性来省去读写函数的声明@interface Application{unsigned int root_port;unsigned
2015-10-31 19:43:40
608
原创 OC学习_第四天 NSString、NSArray、NSNumber、使用苹果帮助文档、值对象
1.使用苹果帮助文档苹果每次iOS版本的升级,都会添加或更新⼤量API,并提供相应的参考⽂档。开发者很难记忆所有的API。学会使⽤苹果帮助⽂档是开发者的⼀项很重要的技能.在Xcode中打开参考文档:Xcode—>Help—>Documentation and API Reference文本基本相关信息:Inherits from 继承⾃Conforms
2015-10-31 15:32:56
635
原创 OC学习_ 第三天 继承、初始化方法、便利构造器
1.继承作为OC 三大特征之一,它有什么特点? 继承的特性: 1.继承是单向的(从上到下) 2.继承是可传递的 3.继承不能相互继承 4.继承不能多继承 5.继承就是 子类继承父类的所有的 实例变量和方法 6.子类可以复写父类的方法2 继承的优点⾯向对象提供了继承
2015-10-28 21:20:39
595
原创 OC学习_第二天 实例变量可⻅度、⽅法
1.实例变量可见度2.为什么不使⽤@public? 1、使⽤@public关键字,暴露了类内部的细节。 2、不符合⾯向对象语⾔的三⼤特性之⼀ — 封装3.OC中的⽅法分两种:类⽅法和实例⽅法。类⽅法:只能类使⽤,例如:+(id)alloc 注:类⽅法中不能使⽤实例变量实例⽅法:只能对象使⽤,例如: -(void)sayHi
2015-10-27 09:38:54
485
原创 怎么查询NSLog中每个数据类型对应的占位符
第一步: 在Xcode中写下一句:NSLog(@"Welcome My blog!");第二步:按住alt ,鼠标移到NSLog上,当出现?时,点击确定后出现:第三步:这里面会出现这个函数的相关介绍,点击最后的Reference(参考文档)后面的Foundation Functions Reference第四步:等待一段时间后系统自动查找到NSLog语句的参
2015-10-26 23:23:46
770
原创 OC学习_第一天 面向对象和类
1.面向对象和面向过程的简单比较2.类和对象是面向对象编程的核心.面向对象编程的三大特征:封装,继承,多态 类:具有相同特征和行为(功能)事物的抽象 对象:就是类的实例化2.1什么是类2.2 什么是对象对象是类的实例。类是对象的类型。万事万物皆对象,例如:⼀只猫,⼀个饼干,⼀张⽕⻋票,⼀个⽔杯,⼀个订单等
2015-10-26 22:18:27
637
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人