随笔分类 -  iOS

object-C 学习
摘要:最近在项目中用到了手势操作,键盘回收时还是挺常用的,现在总结下,多谢网络上大神们的分享。 先分享下我在项目中用的代码: 将相应代码复制到你的工程中即可使用,由于代码中已经有详细的解释说明,这里就不在重复解释了。 代码中只是列举了单指与双指对于单击或多击的处理,同理多指的操作需修改numberOfTo 阅读全文
posted @ 2019-02-01 11:16 久依 阅读(841) 评论(0) 推荐(0)
摘要:1.、首先,Controller需要实现两个 delegate ,分别是 UITableViewDelegate 和 UITableViewDataSource2、然后 UITableView对象的 delegate要设置为 self。3、 然后就可以实现这些delegate的一些方法拉。 (1)- 阅读全文
posted @ 2019-01-31 10:01 久依 阅读(1701) 评论(0) 推荐(0)
摘要:1. NSAssert 断言(NSAssert)是一个宏,在开发过程中使用NSAssert可以及时发现程序中的问题。 NSAssert声明如下: #define NSAssert(condition, desc, ...) condition:条件表达式。条件成立时,运行后面程序;不成立时,抛出带有 阅读全文
posted @ 2019-01-30 13:52 久依 阅读(755) 评论(0) 推荐(0)
摘要:官方将通知单独放在了UserNotifications.framework,使用时需要导入框架。UserNotifications.framework主要类文件: UNUserNotificationCenter的应用: 请求用户授权: UNUserNotificationCenter* cente 阅读全文
posted @ 2019-01-24 15:02 久依 阅读(966) 评论(0) 推荐(0)
摘要:实际开发中都是多控制器的;用一个控制器(父)管理多个控制器(子) ios提供2个特殊的(父)控制器 UINavigationControler 简介 导航控制器,可以轻松完成多个控制器之间的切换,其结构包含导航条(y=20)、栈顶控制器的view、导航控制器的view。导航控制器需要设置一个根控制器 阅读全文
posted @ 2019-01-14 15:24 久依 阅读(1051) 评论(0) 推荐(0)
摘要:在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。 enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 阅读全文
posted @ 2019-01-14 14:44 久依 阅读(145) 评论(0) 推荐(0)
摘要:在日常的开发中,多控制器之间的跳转除了使用push的方式,还可以使用 present的方式,present控制器时,就避免不了使用 presentedViewController、presentingViewController ,这两个概念容易混淆,简单介绍一下。 1:present 控制器的使用 阅读全文
posted @ 2019-01-14 13:22 久依 阅读(2118) 评论(0) 推荐(0)
摘要:本文用来介绍 iOS 多线程中 GCD 的相关知识以及使用方法。这大概是史上最详细、清晰的关于 GCD 的详细讲解+总结的文章了。通过本文,您将了解到: 1. GCD 简介 2. GCD 任务和队列 3. GCD 的使用步骤 4. GCD 的基本使用(6种不同组合区别) 5. GCD 线程间的通信 阅读全文
posted @ 2019-01-10 14:09 久依 阅读(960) 评论(0) 推荐(0)
摘要:在ios的开发和学习中多线程编程是必须会遇到并用到的。在java中以及Android开发中,大量的后台运行,异步消息队列,基本都是运用了多线程来实现。 同样在,在ios移动开发和Android基本是很类似的一种模型。 但是很多时候,在应用开发中,我们会发现本身并没有自己编码去处理一些并发的事件,去开 阅读全文
posted @ 2019-01-10 09:06 久依 阅读(2329) 评论(0) 推荐(0)
摘要:dispatch_sync 线程同步、dispatch_async线程异步 这些代码输出的结果是 1 2 3 4 依次输出、无论你运行多少次都会是这一种结果 但是来看下面的异步呢? 输出的结果是 1 2 3 4 随机输出、有时 2 1 3 4 有时 1 3 2 4 等 在iOS中是无法使用 disp 阅读全文
posted @ 2019-01-10 08:45 久依 阅读(592) 评论(0) 推荐(0)
摘要:objc_class结构体 类在OC中是objc_class的结构体指针 typedef struct objc_class *Class; 在objc/runtime.h中objc_class结构体的定义如下: 下面我们来看一下objc_class的定义,我们在使用runtime以class为前缀 阅读全文
posted @ 2019-01-03 13:31 久依 阅读(406) 评论(0) 推荐(0)
摘要:1.使用层面的理解 在这里首先讲如何简单的使用, 仅仅是使用层面(有理解错误的地方帮忙纠正), 然后我们在去理解位运算符! 在下面的图中我们可以看见枚举值中有<<(位运算符:左移): 如果我们在枚举值中看见<<那我们就可以通过|(位运算符:或)进行组合使用如下代码为例: //随便添加一个UIText 阅读全文
posted @ 2018-12-29 10:32 久依 阅读(666) 评论(0) 推荐(1)
摘要:UIApplication深入研究 很多时候,我们不需要关心这个类,我们很少继承这个类,偶尔会调用这个类的api来实现一些功能,但是不可否认,这个类是iOS编程中很重要的一个概念,所以我这里写这个文章来总结以下这个类的信息,如果写的不对的地方,请留言,多谢。 UIApplication的核心作用是提 阅读全文
posted @ 2018-12-21 09:50 久依 阅读(855) 评论(0) 推荐(0)
摘要:一、获取UiDevice设备信息 二、获取Bundle的相关信息 NSLocal获取本地化数据: 阅读全文
posted @ 2018-12-20 17:41 久依 阅读(788) 评论(0) 推荐(0)
摘要:dispatch_after 是来延迟执行的GCD方法,因为在主线程中我们不能用sleep来延迟方法的调用,所以用dispatch_after是最合适的 dispatch_after 能让我们添加进队列的任务延时执行,该函数并不是在指定时间后执行处理,而只是在指定时间追加处理到dispatch_qu 阅读全文
posted @ 2018-12-20 17:14 久依 阅读(3816) 评论(0) 推荐(0)
摘要:很多宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 一、条件编译 条件编译就是在编译之前预处理器 阅读全文
posted @ 2018-12-20 15:25 久依 阅读(1904) 评论(0) 推荐(0)
摘要:RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数( C语言的函数调用请看这里 )。编译完成之后直接顺序执行,无任何二义性。OC的函数调用成为消息发送。属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(事实证 阅读全文
posted @ 2018-12-19 11:09 久依 阅读(439) 评论(0) 推荐(0)
摘要:1.方法顺序无关 Objective-C类由声明文件h和实现文件m组成,所有的public方法都在h文件中声明,private方法可以写在m文件中,但是在早期的编译环境中需要注意方法的顺序,例如下面的代码,在早期的编译环境会给出警告: 类和方法声明: 实现: 早期编译器编译时会出现:warning: 阅读全文
posted @ 2018-12-19 09:25 久依 阅读(608) 评论(0) 推荐(0)
摘要:当我们新建一个 Cocoa 项目时,Xcode 会提供一系列的模板,类似前端的脚手架工具,只需要简单的几个选项,就可以配置好一个项目所需的基本环境。 这些基本环境配置一般包括: 编译选项、证书链选项 项目 Target、单元测试 Target 基于 git 的版本控制管理 默认的源文件 编译选项、证 阅读全文
posted @ 2018-12-18 10:23 久依 阅读(2779) 评论(0) 推荐(0)
摘要:在ObjC中,什么是深浅拷贝? 深浅拷贝分别指深拷贝和浅拷贝,即 mutableCopy 和 copy 方法。 copy复制一个不可变对象,而 mutableCopy 复制一个 mutable 可变对象。 非容器类对象 如NSString,NSNumber等一类对象 示例1: 查看内存可以发现,st 阅读全文
posted @ 2018-12-14 17:49 久依 阅读(416) 评论(0) 推荐(0)