- 博客(28)
- 收藏
- 关注
原创 字符串对象(NSStrinng)
NSMutableArray部分能容exchangeObjectAtIndex: withObjectAtIndex: 交换元素位置containsObject: 判断数组是否包含某元素subarrayWithRange:截取范围内的元素数组方法-count; 元素个数-firstObject; 返回第一个-laserObject; 返回最后一个a...
2018-03-27 14:51:36
280
原创 枚举
枚举使用typedef NS_ENUM 建议书写枚举模仿苹果——在列出枚举内容的同时绑定了枚举数据类型NSUInteger,这样带来的好处是增强的类型检查和更好的代码可读性,示例: * 普通模式: 不推荐typedef enum : NSUInteger { MyMsyLoadTypeFirst = 0, MyMsyLoadTypeTop, M...
2018-03-27 14:50:53
221
原创 Block 定义
Block 定义block 的循环引用问题warning 如果block (block只要是copy的就会在堆中) 在堆中, block引用外界的对象, 会导致循环引用typeof可以获取括号中传递的值的真实类型typeof(10) a = 10; == int a = 10;如果是用__weak修饰, 当对象销毁之后会自动将变量的值设置为nil...
2018-03-27 14:50:32
447
原创 self = [super init] 为什么要调用
初始化方法的标准结构是这样子的:- (instancetype)init{ self = [super init]; // call the designated initializer if (self) { // Custom initialization } return self;}我们主要来看看,这一句: s...
2018-03-27 14:50:09
527
转载 禅与 Objective-C 编程艺术 (Zen and the Art of the Objective-C Craftsmanship 中文翻译)
禅与 Objective-C 编程艺术 (Zen and the Art of the Objective-C Craftsmanship 中文翻译)原文 https://github.com/objc-zen/objc-zen-bookGitbook 链接(包含 PDF, mobi, epub 格式): http://yourtion.gitbooks.io/objc-zen-b...
2018-03-27 14:49:45
325
原创 const
const修饰位置不同,代表什么?1.const NSString *HSCoder = @"汉斯哈哈哈";2.NSString const *HSCoder = @"汉斯哈哈哈";3.NSString * const HSCoder = @"汉斯哈哈哈";1.const NSString *HSCoder = @"汉斯哈哈哈";"*HSCoder"不能被修改, "HSCo.
2018-03-27 14:49:06
184
原创 iOS 富文本
1、iOS 富文本1. NSFontAttributeName 设置字体属性,默认值:字体:Helvetica(Neue) 字号:12 2. NSForegroundColorAttributeName 设置字体颜色,取值为 UIColor对象,默认值为黑色 3. NSBackgroundColorAttributeName ...
2018-03-27 14:48:43
381
原创 归档和解档.沙盒路径
一、数据归档 解档特点“归档”是一种可以把任何对象,直接保存为文件的方式。(其中包括”归档”与”反归档(读档)”) * 使用前提 必须是实现协议 ,通过”归档”的方式来存储,对象必须遵守NSCoding协议,也就意味着通过”归档”的方式能 将任何遵守了NSCoding协议的”对象”存储到文件中 (对象要是使用归档 解档 要遵守 NSCoding 协议)归档、解档 ...
2018-03-27 14:48:24
230
原创 归档和解档、沙盒路径
一、数据归档 解档特点“归档”是一种可以把任何对象,直接保存为文件的方式。(其中包括”归档”与”反归档(读档)”) * 使用前提 必须是实现协议 ,通过”归档”的方式来存储,对象必须遵守NSCoding协议,也就意味着通过”归档”的方式能 将任何遵守了NSCoding协议的”对象”存储到文件中 (对象要是使用归档 解档 要遵守 NSCoding 协议)归档、解档 ...
2018-03-27 14:41:23
257
原创 IOS开发中的属性readwrite,readonly,retain,assign,copy,nonatomic,strong,weak.
1、weak 弱引用,对象释放后被置为nil,避免错误的内存访问。也就是 weak 可以在不增加对象引用计数的同时,又使得指针对象的访问是安全的。 2、nonatomic:非原子性,决定编译器生成的setter getter是否是原子操作;属性安全级别的表示,对属性赋值的时候不加锁,不加同步,多线程并发访问会提高性能。如果不加此属性则默认是两个访问方法都为原子型事务访问;貌似苹果官方推荐使用。 ...
2018-03-27 11:18:52
493
原创 iOS学习笔记 ——文件操作(NSFileManager)
默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。Library包含Caches、Preferences目录。Documents:苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录Library:存储程序的默认设置或其它状态信息;Library/Caches:存放缓存文件,保存应
2017-03-17 17:44:02
450
原创 清理缓存Caches路径下的文件
1. 获取缓存文件的大小-( float )readCacheSize{ NSString *cachePath = [NSSearchPathForDirectoriesInDomains (NSCachesDirectory , NSUserDomainMask , YES) firstObject]; return [ self folderSizeAtP
2017-03-17 17:26:30
1497
翻译 SQLite简单使用 总结
SQLite 数据类型SQLite 数据类型是一个用来指定任何对象的数据类型的属性。SQLite 中的每一列,每个变量和表达式都有相关的数据类型。您可以在创建表的同时使用这些数据类型。SQLite 使用一个更普遍的动态类型系统。在 SQLite 中,值的数据类型与值本身是相关的,而不是与它的容器相关。SQLite 存储类每个存储在 SQLite 数据库中的值都具有以下存储类之一
2017-03-15 10:27:16
943
原创 使用FMDB进行数据库操作
FMDB: https://github.com/ccgus/fmdbFMDB有三个主要的类1.FMDatabase – 表示一个单独的SQLite数据库。 用来执行SQLite的命令。2.FMResultSet – 表示FMDatabase执行查询后结果集3.FMDatabaseQueue – 如果你想在多线程中执行多个查询或更新,你应该使用该类。这是线程安全的。
2017-03-15 09:58:23
577
原创 UIButton将title和image放置在任意位置上
实现效果图:// 设置内容对齐方式,并设置内容距离四周距离(上左下右) button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; button.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0); //
2017-03-09 15:24:56
418
原创 手势密码锁
一、 手势解锁应用 分析 1.监听手指在view上的移动,首先肯定需要自定义一个view,重写touch began,touch move等方法,当手指移动到圈上时,让其变亮。可以通过button按钮来实现。2.界面搭建背景图片(给控制器的view添加一个imageview,设置属性背景图片)九个按钮(把九个按钮作为一个整体,使用一个大的view来管
2016-10-31 17:32:47
1273
原创 iOS开发之AFN的基本使用
本篇将从四个方面对iOS开发中经常使用到的AFNetworking框架进行讲解:一、什么是 AFN二、为什么要使用 AFN三、AFN 怎么用三、AFN和ASI的区别 一、什么是 AFNAFN 全称为 AFNetworking,是一个构建与在 NSURLConnection、NSOperation 以及其他熟悉的 Founation 技术之上的一个
2016-10-30 16:46:32
1360
原创 使用CoreLocation定位
CoreLocation框架(CoreLocation.framework)可用于定位设备当前的经纬度,通过该框架,应用程序可通过附近的蜂窝基站、WIFI信号或者GPS等信息计算用户位置。iOS SDK提供了CLLocationManager、CLLocationManagerDelegate来处理设备的定位信息,包括获取设备的方向以及进行方向检测等。其中CLLocationManager
2016-10-20 16:12:04
672
原创 MBProgressHUD
//方式1.直接在View上show HUD = [[MBProgressHUD showHUDAddedTo:self.view animated:YES] retain]; HUD.delegate = self; //常用的设置 //小矩形的背景色 HUD.color = [UIColor clearColor];//这儿表示无背景 //显示的文字
2016-10-19 18:09:17
549
原创 JSON 和 XML优缺点的比
1.定义介绍(1).XML定义扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。XML
2016-09-16 21:57:00
442
原创 UIScrollView控件实现图片轮播
1#import"YYViewController.h" 2 3 @interface YYViewController () 4 @property (weak, nonatomic) IBOutlet UIScrollView *scrollview; 5 /** 6 * 页码 7 */ 8 @property (weak, nonatomic)
2016-08-10 13:11:57
317
原创 cell 的定义
一.界面搭建 1.确定开发模式 如果界面是固定的,可以用xib 界面的一些内容不固定,就用纯代码 cell用什么方式去开发(我们采用纯代码和xib结合的方式) 2.划分层次结构 2.1 怎么划分? 按照功能划分 按照隐藏效果:在某些条件下,一些控件要一起隐藏,就可以放在同一模
2016-08-10 13:04:45
1453
转载 自定义UITableView每组头部控件
1.创建一个继承UITableViewHeaderFooterView的类,拥有一个模型2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame, 子控件要添加到contentView中) 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片)- (instancetype)in
2016-07-23 00:44:48
310
转载 数据解析
数据解析1 数据传输过程前端:请求(iOS/安卓(JAVA)PC(浏览器(HTML/CSS/JS))) :OC/JAVA/HTML/CSS/JS后端:响应(服务器开发:php/java/.net)前端和后端交互的"数据格式": XML/JSON数据解析. XML/"JSON" ----> OC 客户端发送请求给服务器,服务器接收到客户端的请求之后,返回给客户端JSON数据. 客户端需...
2016-07-22 20:25:22
494
转载 多控制器之间的跳转
多控制器之间的跳转1> 什么是多控制器之间的跳转?在一个 APP 中,会存在多个控制器,多个控制器的存在就会存在控制器的跳转问题.2> 包含:连线跳转,modal 方式以及navigationController/tabBarontroller方式连线跳转:根据绑定的 ID 进行控制器的跳转连线跳转的分类:> 自动型:点击控件后,自动跳转到下一个控制器(ac
2016-07-22 19:56:05
584
原创 判断是否实现新特性特效
以下列方法的返回结果去跳转相对的控制器实现新特性,并保存最新的版本号.- (BOOL)isNewVersion { // MARK: - 目标:第一次启动这个应用时,显示新特性界面,以后就直接进入主程序! // 版本号:两个版本号。Info.plist中有对应的版本号 // 2.1 获取应用当前的版本号 // 获取Info.plist文件的所
2016-07-21 15:55:21
324
原创 Masonry的使用方法
//define this constant if you want to use Masonry without the 'mas_' prefix// 如果你想在使用Masonry框架时省略mas_的前缀请定义下面这个宏#define MAS_SHORTHAND//define this constant if you want to enable auto-boxing
2016-07-18 16:17:15
412
原创 纯代码实现UITableViewCell的自定义扩展
第一种,简单的增加UITableViewCell一些小功能例如在cell上面添加一个UILabel。直接在UITableViewCell的生成方法中实现,代码如下- (UITableViewCell *)tableView:(UITableView *)tableViewcellForRowAtIndexPath:(NSIndexPath *)indexPa
2016-07-18 14:59:28
556
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人