![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS 开发
gavinoy
程序猿
展开
-
Xcode 使用技巧
Control+I 选中的代码自动缩进。Command+[键和Command+] 将选定的代码进行左移或右移。Tab 接受代码自动完成提示Esc键 显示代码提示菜单按住Alt键双击鼠标 搜索文档原创 2015-06-26 10:00:23 · 409 阅读 · 0 评论 -
动态计算文本的高度
一、- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context NS_AVAILABLE_IOS(7_0); 这是NSStr原创 2015-10-05 00:08:58 · 892 阅读 · 0 评论 -
继承 有时候你可能需要重载代理方法
有时候你可能需要重载代理方法。考虑有两个 UIViewController 子类的情况:UIViewControllerA 和 UIViewControllerB,有下面的类继承关系。UIViewControllerB UIViewControllerA 遵从 UITableViewDelegate 并且实现了 - (CGFloat)tableView:(UITableView *)t转载 2015-10-05 00:18:23 · 576 阅读 · 0 评论 -
nil,NIL,NULL
1.nil 指给对象赋值(Objective-C中的任何对象都属于id类型)id object = nil; // 判断对象不为空 if (object) { } // 判断对象为空 if (object == nil) { } 2. NULL 给任何指针赋值,而NSNull则用于集合操作(集合类的元素),虽然它们表示的都是空值.原创 2015-10-05 00:05:05 · 409 阅读 · 0 评论 -
iOS常用的第三方框架
AFNetworking //网络FMDB //数据库操作MBProgressHUD //进度条FLAnimatedImage //适用于iOS的高性能动画GIF引擎MWPhotoBrowser' //一个可选的网格视原创 2015-12-30 00:11:43 · 522 阅读 · 0 评论 -
字体造成卡顿
在iOS7下选择iOS9的字体会造成卡顿的现象原创 2016-01-17 23:48:04 · 858 阅读 · 0 评论 -
swift 溢出处理
var potentialOverFlow = Int16.max potentialOverFlow = potentialOverFlow + 1溢出处理器会报错,如果想对溢出处理,则需加“&”溢出加法 &+溢出减法 &-溢出乘法 &*溢出除法 &/溢出求余 &%原创 2016-01-24 16:36:14 · 1074 阅读 · 0 评论 -
使用symbolicatecrash解析crash log日志
普遍使用的方法是用symbolicatecrash来解析crash log:导出crash log 通过Xcode的Organizer查看某台iphone设备的DeviceLog,选择需要的crash log,导出XXX.crash文件。用symbolicatecrash来解析crash log:1.首先找到symbolicatecrash所在目录路径xcod原创 2016-01-09 16:14:42 · 1950 阅读 · 0 评论 -
UIImage优化
imageNamed:使用系统缓存,适用于频繁使用的小图片imageWithContentOfFile:不带缓存机制,适用于大图片,使用完就释放。原创 2016-01-10 16:13:42 · 422 阅读 · 0 评论 -
loadView,viewDidLoad,viewDidUnload
loadView,viewDidLoad,viewDidUnload,这三个函数到底应该怎么用?谷歌一下,全是转载,大概内容是这样:loadView 手动加载viewviewDidLoad用于nib文件加载后,进一步处理viewDidUnload是viewDidLoad的镜像参考官方文档,我给出纠正:一、loadView永远不要主动调用这个函数。view c转载 2016-01-12 00:12:45 · 378 阅读 · 0 评论 -
BOOL与bool的区别
bool是c++上的,而BOOL时Obejctive-C的。看源码定义:/// Type to represent a boolean value.#if (TARGET_OS_IPHONE && __LP64__) || TARGET_OS_WATCH#define OBJC_BOOL_IS_BOOL 1typedefboolBOOL;#else#de原创 2016-01-31 07:25:20 · 916 阅读 · 0 评论 -
本地化下按首字母分组排序的神器——UILocalizedIndexedCollation
最近在整一个很简单的通讯录相关的项目,通讯录当然就少不了按首字母或者汉字拼音首字母分组排序索引。因为按照我一贯的的做法,都是想要做成更通用的、支持本地化的,所以这就纠结了,世界各地的语言啊我去,我顶多也就认识中文和英语,这就不能用以前的那些比如把汉字转成拼音再排序的方法了,效率不高不说,对其他国家的本地化更是行不通。一个偶然的机会,我才发现SDK里已经提供了一个实现此功能的神器——UILocali转载 2015-08-12 10:00:19 · 1052 阅读 · 1 评论 -
TableViewCell中cell高度不一样时的优化
TableViewCell中cell高度不一样时的优化: 1.先创建有可能要显示的View(只初始化,不加载图片,如果后面不改变的在这初始化 不变的东西只初始化一次); 2.可以用一个数据模型记录Cell中所有子视图的位置,视图要显示的数据; 3.调用数据模型给Cell中的view赋值,并设置frame原创 2015-08-10 19:15:48 · 494 阅读 · 0 评论 -
数据持久化-NSKeyedArchiver
1.基本的数据类型如NSString、NSDictionary、NSArray、NSData、NSNumber等可以直接用NSKeyedArchiver归档和恢复。2.不是所有的对象都可以直接用这种方法归档,只有遵守了NSCoding协议的对象才可以。3.NSCoding的协议有2个方法- (void)encodeWithCoder:(NSCoder *)encoder每次归档原创 2015-08-10 17:11:20 · 352 阅读 · 0 评论 -
Category protocol delegate
Category使用场景:1、类包含了很多个方法实现,而这些方法需要不同团队的成员来实现2、当你在使用基础类库中的类时,你不想继承这些类而只想添加一些方法时。Category能实现上面的需求,当然也有使用Category是需要注意的问题:1、Category可以访问原始类的实例变量,但不能添加实例变量,如果想添加变量,那就通过继承创建子类来实现。2、Category原创 2015-06-26 20:02:19 · 417 阅读 · 0 评论 -
Crashlytcis - 闪退分析平台
它可以有更多的信息来做优先级的判断:个别闪退的重要级是什么?个别闪退的影响范围?这个闪退什么时候开始的呢?闪退的环境?iOS或者安卓系统,系统版本等等每个版本整体的闪退情况怎样呢?需要发布新版本来解决线上的闪退问题吗?原创 2015-06-30 14:48:17 · 523 阅读 · 0 评论 -
stretchableImageWithLeftCapWidth气泡拉伸
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight;从点(topCapHeight,topCapHeight)往右下角开始拉伸原创 2015-07-07 19:34:45 · 622 阅读 · 0 评论 -
xcode6模拟器不显示键盘解决方案
对于xcode6模拟器运行程序后不显示键盘。只需要打开模拟器,在菜单栏中选择:hardware -> keyboard -> connect hardware keyboard(快捷键shift+command+k)默认情况下,xcode使用电脑键盘作为外接键盘,不再弹出虚拟键盘。如下图:原创内容,转载请注转载 2015-07-02 16:16:56 · 398 阅读 · 0 评论 -
iOS 基础
字符串Objective-C 指定字符串的约定与C 相同:单个字符会使用单引号括起来,而字符串则使用双引号括起来。但是,Objective-C框架通常不使用 C字符串。相反,它们会使用 NSString对象。 NSString类为字符串提供了一个对象包装器,它具有诸多优势,如内置了可用于储存任意长度字符串的内存管理、提供了对各种字符编原创 2015-06-25 15:30:42 · 372 阅读 · 0 评论 -
ObjectiveC 深浅拷贝学习
转自 http://woshao.com/article/f91898b24a1211e097d3000c2959fd2a/在ObjC中,什么是深浅拷贝?深浅拷贝分别指深拷贝和浅拷贝,即mutableCopy和copy方法。copy复制一个不可变对象,而mutableCopy复制一个mutable可变对象。什么时候用到深浅拷贝?下面举几个例子说明。非容器转载 2015-07-14 10:57:15 · 465 阅读 · 0 评论 -
UIKeyboard键盘相关知识点-IOS开发
一、键盘风格 UIKit框架支持8种风格键盘。[java] view plaincopytypedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable, //转载 2015-07-14 09:49:29 · 536 阅读 · 0 评论 -
iOS 图片三种加载方式的比较
正确选择图片加载方式能够对内存优化起到很大的作用,常见的图片加载方式有下面三种:[objc] view plaincopy//方法1 UIImage *imag1 = [UIImage imageNamed:@"image.png"]; //方法2 UIImage *image2 = [UIImage imageWi转载 2015-07-14 19:39:19 · 538 阅读 · 0 评论 -
关于[[NSBundle mainBundle] pathForResource:@"name" ofType:@"type"]找不到指定文件的解决办法
最近在使用[[NSBundle mainBundle] pathForResource:@"name" ofType:@"type"]时,找不到其对应的文件,文件当时是通过 右键->add files to 的方式添加到工程里面的,但是使用[[NSBundle mainBundle] pathForResource:@"name" ofType:@"type"]时,无论如何都找不到文件,经过了重启转载 2015-07-16 17:35:27 · 906 阅读 · 0 评论 -
iOS 常见小问题
1. iOS 编译后上下有黑边 ? 缺少启动图片2.Failed to instantiate the default view controller for UIMainStoryboardFile 'TestStoryboard' - perhaps the designated entry point is not set? 未设置根控制器 解决方法:原创 2015-06-25 10:28:19 · 560 阅读 · 0 评论 -
多个tableview 点击状态栏当前scrollView滚动到顶部
1、在AppDelegate 判断是不是点击了状态栏2、判断当前view是否在主窗口,并且是显示状态//是否显示 #import"UIView+XMGExtension.h"(BOOL)isShowingOnKeyWindow{ // 主窗口 UIWindow *keyWindow = [UIApplications原创 2016-09-07 16:17:23 · 795 阅读 · 0 评论