![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS记录
Katy_Pei
倘若把生活比作河流,随波逐流的现代人,大部分生活在河流的表层。日子过得不错,看上去很美,其实似是而非,没有寻找生活深度的时间和耐心,不能从生活中为自己找到良性刺激。所以并不快乐,内心反倒空虚。
展开
-
UITableViewCell的分割线去除多余15px
创建UITableView的时候,大家看到系统自带的UITableViewCell的分割线是不会顶头的,会有15px的多余。有些时候需求需要分割线顶头,也就是说没有15px的多余,处理掉它有两种方式。1.去除UITableViewCell的分割线,自定义一个视图,高度为1就好,放倒UITableViewCell的底部,这样基本就ok了。(这个方法就不贴代码了)2.创建UITableView原创 2016-06-28 10:43:36 · 461 阅读 · 0 评论 -
iOS面试题总结(一)
一、OC的理解以及特性 OC是一门面向对象的语言,具有面向对象语言的特性,例如:封装,继承,多态。它具有静态语言的特性(如C++),又有动态语言的效率。 Objective-C具有的动态特性表现在:动态类型、动态绑定、动态加载。之所以叫做动态,是因为必须到了运行时(runtime)才会做一些事情。 1、动态类型:即运行时再决定对象的类型。 2、动态绑定:基于动态类型,在某个实例对象被确定后原创 2016-06-22 16:21:17 · 490 阅读 · 0 评论 -
Xcode 8 去除控制台打印多余信息
Xcode升级到8之后,运行项目控制台总是自动打印一些多余信息可按照图中所示,可以直接复制粘贴 OS_ACTIVITY_MODE 和 disable原创 2016-10-21 16:26:48 · 1981 阅读 · 0 评论 -
iOS Block的简单使用
1.简介block是代码块,其本质和变量类似。不同的是代码块存储的数据是一个函数体。使用Block,就可以像其他标准函数一样,传入参数,并得到返回值。block是一种比较特殊的数据类型,我们可以把Block当作是Object-C的一种匿名函数。常见的场景有:界面传值,带代码进行封装作为参数传递等。2.定义和使用a.定义返回值(^ block变量)(形参列表) = ^(原创 2016-10-27 16:31:37 · 368 阅读 · 0 评论 -
iOS 10权限设置
iOS 10发布以来,苹果公司为了用户的信息安全,在访问内部应用都加入了隐私权限设置,让用户来选择是否使用。如果在开发中不对这些权限进行设置的话造成crash。在程序的Info.plist中添加如以下设置: 权限 info.plist中key info.plist中Value 相册 NSPhotoLibraryUsageDescription 是否允许此app使用相册? 相原创 2016-11-01 15:00:58 · 4800 阅读 · 0 评论 -
xcode8 约束和子控件frame 小坑
错误信息:invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. This message will only appear once per execution.错误原因:在xc原创 2016-12-01 09:57:55 · 3357 阅读 · 0 评论 -
Xcode制作framework库
前言如果你想将你开发好的公用方法和空间与别人分享,一种方法是直接提供源代码文件。然而,这种方法会暴露所有的实现细节,而这些实现你可能并不想开源出来。最重要的是,有些开发者可能并不想看到你的所有代码,因为他们可能仅仅希望将你的这份漂亮代码的一部分植入自己的应用中。另一种方法是将你的代码编译成静态库,让其他开发者添加到自己的项目中。然而,这需要你一并公布所有的公开的头文件,实在是非常不方便。你原创 2016-12-16 15:18:09 · 723 阅读 · 0 评论 -
iOS 判断字符串是否以字母或者汉字开头
// 判断是否以字母开头- (BOOL)isEnglishFirst:(NSString *)str { NSString *regular = @"^[A-Za-z].+$"; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regular]; if原创 2017-01-05 10:47:42 · 3375 阅读 · 0 评论 -
iOS 正则表达式
1.前言 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符以及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑。常见的用处就是匹配字符串的合法性,截取特定的字符串等等。2.常见语法 语法 说明 表达式实例 完整匹配的字符串 一般字符 匹配自身 kity kity . 匹配任意除换行符以外的字符原创 2017-01-05 16:05:23 · 434 阅读 · 0 评论 -
iOS 8 SDK Touch ID指纹识别功能
前言 iOS 8 SDK向开发者公布了Touch ID指纹识别功能,允许App对用户身份进行本地验证。Touch ID支持系统和机型 iOS系统的Touch ID指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8.依赖框架LocalAuthentication.framework该框架下只有两个头文件: LAContext.h LAError.hLACo原创 2017-02-08 11:18:49 · 725 阅读 · 0 评论 -
You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletio
控制台如果有如下打印:You've implemented -[ application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundMode原创 2017-05-05 11:42:58 · 839 阅读 · 0 评论 -
iOS NSExtensionContext学习
在iOS 8中,UIViewController新增了一个扩展上下文的属性extensionContext,用以处理容器应用和扩展之间的通信,上下文的类型是NSExtensionContext。我们可以通过它来获取相应数据,进行返回容器应用的界面等操作。我们可以先看一下NSExtensionContext的定义// Class representing the extension request's原创 2017-09-07 11:19:47 · 2652 阅读 · 0 评论 -
iOS 多线程编程之NSOperation
一、NSOperation简介相对于前面所说的NSThread,NSOperation同样用于多线程,但是相比较而言,NSOperation是更高级别的类,它大大的简化了处理多线程的过程,但是NSOperation是一个抽象基类,如果需要使用它的话,必须使用它的字累,或者自定义子类继承NSOperation,实现内部响应的方法。在此之前稍稍补充几个术语。异步:不用阻塞当前线程来等待处理完成原创 2016-05-11 18:41:16 · 300 阅读 · 0 评论 -
iOS 摇一摇功能
今天查看苹果的API文档,突然发现摇一摇功能iOS有自带,灰常欣喜,记录一下。在UIResponder中存在着这么一套方法://检测到摇动- (void)motionBegan:(UIEventSubtype)motion withEvent:(nullable UIEvent *)event NS_AVAILABLE_IOS(3_0);//摇动结束- (void)motionEnd原创 2016-05-20 10:20:06 · 1305 阅读 · 0 评论 -
iOS开发中的手势总结
手势在iOS中是非常重要的,它极大的提高了移动设备的便携使用性。在iOS3.2之后,系统提供了一些常用的手势,开发者可以可以直接使用它们进行一些手势操作,系统提供的都都是UIGestureRecognizer的子类。常用手势分别为:1.UIPanGestureRecognizer 拖动手势2.UIPinchGestureRecognizer 捏合手势3.UIRotationG原创 2016-06-01 17:54:53 · 812 阅读 · 0 评论 -
iOS 仿微信标签
一个简单的UI,仿照微信标签,简单实用了ReactiveCocoa以及Masonry。可以根据文字长度计算显示长度,也可以适应文字输入长度根据设备宽度自动换行,效果图如下:下载地址:https://github.com/KityPei/TagLabCloud.git原创 2016-05-07 22:22:37 · 1104 阅读 · 0 评论 -
iOS 内存管理基本原则
我们知道objc中创建对象是存放在堆中的(基本数据类型除外,是由系统自己管理,并存放在栈中),系统不会自动释放堆中的内存。如果创建完的对象存放在堆中后并使用完没有得到及时的释放,会占用的内存。但是objc没有GC(垃圾回收机制),因此需要开发者手动管理内存。苹果公司共推出了3中内存管理机制:ARC(自动内存管理)、MRC(手动内存管理)、自动释放池。原创 2016-05-07 19:33:55 · 3674 阅读 · 0 评论 -
iOS 多线程编程之NSThread
1.NSThread的创建方式a.动态方法创建/** * 创建NSThread线程 * * @param target selector消息发送的对象 * @param sel selector消息(即执行方法) * @param arg 传给selector的唯一参数,也可以是nil * * @return NSThread线程对象 */- (null原创 2016-05-26 14:05:02 · 335 阅读 · 0 评论 -
UIWindow、UIView以及CALayer之间的关系
UIWindow、UIView以及CALayer之间的关系原创 2016-05-11 20:46:35 · 1411 阅读 · 0 评论 -
Git常用命令
git clone "版本库的网址" 往本地目录clone一份版本库git init 初始化创建一个空的Git仓库或重新初始化现有git add 添加文件到git仓库,实际上是把文件修改添加到暂存区 git reset --hard HEAD^ 回到版本库的上一个版本 注释:HEAD表示当前版本,上一个版本是HEAD^,上上一个版本是HEAD^^,当前网上100个版本可以写成HEAD原创 2016-05-17 16:42:55 · 273 阅读 · 0 评论 -
iOS截图和保存图片
最近整理一下以往的项目,分享一段截图和保存图片的代码,刚开始的时候写这东西的时候,有些凌乱,现在看来还是比较简单的,算是记录一下。直接上代码了,有注释,可以直接套用。//// ViewController.m// Test//// Created by york on 16/3/30.// Copyright © 2016年 裴杨威. All rights reserved.原创 2016-03-30 11:57:01 · 997 阅读 · 0 评论 -
iOS上线流程
app最关键的也是整个开发流程最后一步的是上传appstore,企业分发就不多说了,这个简易的说明就基本不用看了,能用到的可能很少。下面直接狂奔向主题。如果是第一次上传app的话,需要准备生产证书,描述文件,添加app的id等,这些可以百度的,就不详说了。app上线流程如下:1.检查你的接口是否是你即将要上传的版本接口,有些公司的网络请求的地址可能有两套,一套指向测试环境,一套指向正式原创 2016-03-31 13:08:03 · 385 阅读 · 0 评论 -
iOS 沙盒机制
iOS的应用只能访问系统为该应用创建的区域,不可访问其他区域,这块区域就是沙盒(sandBox)。我们常常把一些图片,属性文件(plist文件)等等存在到该目录下,以便开发中使用。1.获取沙盒路径a.获取模拟器沙盒路径如果在开发中,你不知道你想查找的应用沙盒路径的话,你可以通过NSHomeDirectory()这个方法来打印你的沙盒路径。eg:NSLog(@"沙盒路径---原创 2016-05-06 14:18:07 · 711 阅读 · 0 评论 -
iOS runtime运行机制
RunTime简称运行时,就是系统在运行的时候的一些机制。对于C语言而说,函数的调用在编译的时候会决定调用哪个函数,编译完成之后直接顺序执行,但是对于OC来说,函数的调用指的是消息发送,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数进行调用。原创 2016-04-14 12:09:14 · 500 阅读 · 0 评论 -
OC 单例设计
这段时间公司基本没有什么业务,也正好总结总结以前用过的东西,跟大家简单分享一下,相互学习一下。直接主题,说一下我印象中的单例设计模式,本篇主要围绕下面4个问题说下:1.单例是什么?单例就是一种常用的设计模式,就是一个类在系统中只有一个实例对象,通过全局的一个入口对这个实例对象进行访问,就是这么简单。2.单例的优缺点?优点:a.可以阻止其他对象实例化单例对象的副本,从而确保所有对原创 2016-04-27 12:51:14 · 522 阅读 · 0 评论 -
简单学习NSAttributedString和NSMutableAttributedString(一)
NSAttributedString是一种带有属性的字符串,通过该类我们可以灵活操作和呈现多种样式的文字数据,常用语文字排版和图文混排。NSAttributedString和NSMutableAttributedString类似NSArray和NSMutableArray,NSAttributedString创建成功后的属性是不可变的,而NSMutableAttributedString创建成原创 2016-04-05 09:22:39 · 470 阅读 · 0 评论 -
iOS Masonry介绍与使用
由于苹果公司不断推出新的机型,所以大家都知道iOS开发中UI布局常常需要适配,同时也应该了解到苹果设备的适配主要是4,5,6,6plus这4种设备的适配。适配的方法有代码适配和使用xib添加约束,其中代码适配是用到autolayout但是官方推出的文档和Demo实在是繁琐,个人觉得还不如笨办法使用宽高比来的实在(但是计算宽高比以及获取设备需要的方法和代码太多),直到发现Masonry这个做适配的第原创 2016-05-07 19:26:25 · 2926 阅读 · 0 评论 -
iOS扩展学习之旅
目录目录学习资料概述我心中的App ExtensionApp Extension的生命周期名词解释App Extension详解学习资料App Extension文档 NSExtensionContext概述扩展(Extension)是iOS 8中引入的一个非常重要的新特性。作为一个iOS开发者,众所周知的在iOS 8之前,每一个app在物理上都是彼此独立的,app之间不能互访彼此原创 2017-09-05 15:59:18 · 633 阅读 · 0 评论