![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 66
忆思梦
当你谈论飞翔的时候,是不是忘记了地心引力的存在。
展开
-
iOS汉字转换成拼音
//将汉字转换成拼音 CFMutableStringRef className = CFStringCreateMutableCopy(nil, 0, (CFStringRef)class); CFStringTransform(className, nil, kCFStringTransformMandarinLatin, NO); //将拼音的音调去掉原创 2014-11-05 21:54:31 · 411 阅读 · 0 评论 -
GCD
Grand Central DispatchGCD 是异步执行任务的技术之一,提供系统级线程管理,具有高执行效率。开发者只需要将要执行的任务添加到适当的 Dispatch Queue 中,由系统自动调度执行。iOS6以后被纳入到 ARC 的范围内,不需要手动管理了。通常应用程序中的线程管理要在系统层级实现,GCD是在iOS和OSX的核心XNU内核级上实现。Dispatch QueueD...原创 2018-12-10 18:35:36 · 350 阅读 · 0 评论 -
Winding Rules 缠绕规则
在实现一个镂空的效果时,发下路径的方向,会影响最终实现的效果,所以进一步研究了一下。当填充路径所包含的区域时,NSBezierPath 会通过缠绕规则来判断需要填充的区域。通过给定区域内的任意一点到路径外画一条射线,根据与路径的交叉数判断点是否在区域内。缠绕规则:NSNonZeroWindingRule:非零缠绕。射线从左到右每交叉路径一次+1,从右到左每交叉一次-1。如果最终交叉数为0,...原创 2018-12-13 17:47:32 · 595 阅读 · 0 评论 -
weak
weakweak 是弱引用(不持有),与 strong 相对。内部实现Runtime 维护着一个全局的哈希表,即由自旋锁控制的弱引用表(weak_table_t),以对象地址为key,以指向对象的弱引用的散列集合为value。// 全局弱引用表struct weak_table_t { weak_entry_t *weak_entries; // 所有的弱引用记录};// 弱...原创 2018-12-06 10:59:54 · 336 阅读 · 0 评论 -
Crash & Error
crash收集crash连接设备,window->devices->View device logs线上:通过iTunes connect,app资讯页面,有一个【Crash Reports】链接。线上:window->Organizer->上方【Crashs】iOS设备上保存的Crash,设置->隐私->诊断与用量->诊断与用量数据,这里保存...原创 2018-12-04 17:06:10 · 224 阅读 · 0 评论 -
ObjC 源码
类的结构typedef struct objc_class *Class;struct objc_class { Class isa; Class super_class; const char *name; long version; long info; long instance_size; struct objc_ivar_li...原创 2018-11-23 17:45:55 · 561 阅读 · 0 评论 -
仿微博、简书个人页 YSMContainerView
一个比较易于接入的,简单的实现微博简书等个人页的轮子。Demo地址之前面试被问到了微博个人页的实现,应该是考查手势冲突的问题,回来之后按照自己的想法实现了一个,但是扩展性始终不太好,最近仿照UITableView的方式重新实现了一个版本。介绍YSMContainerView: 继承自UIView,是整个视图的容器。YSMContainerViewDataSource: YSMConta...原创 2018-11-16 14:44:23 · 284 阅读 · 0 评论 -
CocoaPods 私有库 实现组件化
先说下CocoaPods拉取开源库的原理:我们知道 CocoaPods 有一个开源的索引仓库[Specs](https://github.com/CocoaPods/Specs),仓库存放着所有开源库的各个版本的`.podspec`文件,`.podspec`文件包含中记录着源码的地址。我们首次使用CocoaPods时,会将这个文件库克隆到本地`~/.cocoapods/repos/master...原创 2018-11-13 10:58:39 · 623 阅读 · 0 评论 -
简述静态库和动态库
1 介绍静态库:链接是直接拷贝到可执行文件中,app间不共用。文件为 .a 和 .framework 。动态库:链接时不复制,程序运行时由系统动态加载到内存,系统只加载一次,APP间共用。文件为 .framework 和 .tdb 。Embedded Binaries: 嵌入二进制,会把库文件嵌入到APP的Bundle中(ipa包中),程序运行时会从bundle中加载库。Linke...原创 2018-10-30 16:29:57 · 469 阅读 · 0 评论 -
UITableView的contentSize
我们都知道由于UITableView是继承自UIScrollView的,所以他是可以设置contentsize的。 但是,我在试验的过程中,初始化UITableView实例后,直接设置它的contentsize是不起作用。 UITableView * tableView = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].bo原创 2015-12-03 18:02:53 · 4731 阅读 · 0 评论 -
iOS Core Image 复杂的滤镜
在上一篇中几乎没有对滤镜进行更复杂的操作,都是直接把inputImage扔给CIFilter而已,而Core Image实际上还能对滤镜进行更加细粒度的控制,我们在新的工程中对其进行探索。为此,我重新建立了一个空的workspace,并把之前所使用的工程添加到这个workspace中,编译、运行,没问题的话我们就开始创建新的工程。通过workspace左下角的Add Files to添加已转载 2015-09-24 14:18:35 · 1535 阅读 · 0 评论 -
使用字符串来表示UIView的tag值
首先声明这个方法非我原创!这是一个同学想出来的下面我们来说一下具体实现,使用tag值时,因为是一个毫无意义的数字,使用起来不免麻烦;加入我们使用字符串来设置tag值,例如:aLabel的tag值为“aLabel”,我们定义视图的时候,肯定不会定义相同名字的,那么这样是不是就更便于记了呢。下面就来具体说说怎么实现吧,首先我们要为UIView设置类目: " UIView+Tag "原创 2014-12-07 21:23:18 · 1440 阅读 · 0 评论 -
iOS 很全的小技巧集合
退回输入键盘 - (BOOL)textFieldShouldReturn:(id)textField{ [textField resignFirstResponder];} CGRectCGRect frame = CGRectMake (origin.x,origin.y, size.width, size.height);矩形NSStringFromCGRe转载 2014-11-24 21:55:00 · 1058 阅读 · 0 评论 -
info.plist文件中各键的含义,留着用
UIRequiresPersistentWiFi 在程序中弹出wifi选择的key(系统设置中需要将wifi提示打开)UIAppFonts 内嵌字体http://www.minroad.com/?p=412UIApplicationExitsOnSuspend 程序是否在后台运行,自己在进入后台的时候exit(0)是很傻的办法UIBackgroundModes 后台运行时的服务,具原创 2014-11-24 21:04:36 · 500 阅读 · 0 评论 -
学习GCD的一些基本用法
1.首先我们先创建一个队列原创 2014-11-23 22:45:55 · 414 阅读 · 0 评论 -
iOS 简述消息推送流程
1、应用程序注册消息推送。2、iOS从APNS Server获取devicetoken,应用程序接收device token。3、应用程序将device token发送给程序的PUSH服务端程序。4、服务端程序向APNS服务发送消息。5、APNS服务将消息发送给iPhone应用程序。原创 2014-11-23 22:07:25 · 461 阅读 · 0 评论 -
获取ios内存使用情况
//获取当前设备可用内存及所占内存的头文件#import #import // 获取当前设备可用内存(单位:MB)- (double)availableMemory{ vm_statistics_data_t vmStats; mach_msg_type_number_t infoCount =HOST_VM_INFO_COUNT; kern_return_tk原创 2014-11-20 10:59:12 · 429 阅读 · 0 评论 -
iOS 签名
原文地址因为苹果的安全策略,通过签名机制保证手机上的每个app都是经过苹果认证的。安装方式:通过App Store安装。开发者可以通过Xcode安装。Ad-Hoc 测试证书打包的app,数量限制100。In-House 企业版证书打包app,信任企业证书后可以使用。一、 通过App Store安装由苹果生成一对公私钥,公钥内置与iOS设备中,私钥由苹果保管。开发者上传app...原创 2018-12-21 16:35:22 · 1162 阅读 · 1 评论