Erlo
2019-02-18  ·ios宏定义学习

宏简介: 宏是一种批量处理的称谓。一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串)。这种替换在预编译时进行,称作宏展开。编译器...

2019-02-14  ·GCD死锁,及同步、异步、串行和并行队列组合情形

  一、概述 1)队列用来存储代码任务,线程用来运行代码任务; 2)main()函数作为程序入口,整个程序默认运行在主线程中,程序代码任务默认存放在主队列中; 3)以下所谓阻塞线程是针对主线程而言(子线程阻塞在所不...

GCD死锁,及同步、异步、串行和并行队列组合情形
2019-02-12  ·iOS----------时间戳与NSDate

1:时间戳转NSDate   NSString *timeStamp =@"1545965436";   NSDate *date = [NSDate dateWithTimeIntervalSince1970:[timeS...

2019-02-01  ·UIScrollView属性及其代理方法

一、UIScrollView是什么? 1、UIScrollView是滚动的view,UIView本身不能滚动,子类UIScrollview拓展了滚动方面的功能。 2、UIScrollView是所有滚动视图的基类。...

2019-02-01  ·UITapGestureRecognizer 的用法(轻触手势识别器)

最近在项目中用到了手势操作,键盘回收时还是挺常用的,现在总结下,多谢网络上大神们的分享。 先分享下我在项目中用的代码: UITapGestureRecognizer * mytap=[[UITapGestureR...

2019-01-31  ·iOS:WKWebView(19-01-31更)

以前用得不多,先开一篇,以后有遇到再补充。   1、返回  2、JS 调用 OC 3、获取、修改、添加网页信息       1、返回 if (self.mWebView.canGoBack == YES) { [self...

2019-01-31  ·UITableView 基本使用方法总结

1.、首先,Controller需要实现两个  delegate ,分别是  UITableViewDelegate 和  UITableViewDataSource2、然后 UITableView对象的 delegate要设...

2019-01-30  ·断言NSAssert的使用

1. NSAssert 断言(NSAssert)是一个宏,在开发过程中使用NSAssert可以及时发现程序中的问题。 NSAssert声明如下: #define NSAssert(condition, de...

断言NSAssert的使用
2019-01-28  ·iOS与硬件通讯(socket,data拼接,发送指令,解析指令)

最近项目中用到了iPad驱动硬件来工作,也就是智能硬件的实现。下面简单说下原理,详细说下socket,wifi通信,数据处理接收,发送,以及数据解析代码。 首先,来说下通信。因为硬件部件比较多,我们采取的是,iPad与主...

iOS与硬件通讯(socket,data拼接,发送指令,解析指令)
2019-01-26  ·iOS渐变导航栏封装

由于最近开发的几个项目都有渐变导航栏,每次写的时候都要copy一堆关于导航渐变相关的代码,显得类很冗余,所以花了点时间封装了一个渐变类,直接继承就可以满足大部分需求啦,这里简单写一下心路历程: 渐变的核心几个部分: 1....

iOS渐变导航栏封装
2019-01-25  ·iOS:WKWebView(19-01-25更)

以前用得不多,先开一篇,以后有遇到再补充。   1、JS 调用 OC 1-1)、添加 和 JS 约定的消息名 [self.userContentController addScriptMessageHandler:self ...

2019-01-25  ·iOS在framework中使用CoreData出现崩溃问题及解决方法

公司项目中有一个功能,保存授权令牌数据。最开始只有一条数据,所以就直接保存在了userdefaults中。后来需要两条数据,还是保存在userdefaults中,其中一条为固定的,另一条不固定可以进行替换或删除。最近又需...

2019-01-24  ·iOS10--消息通知的基本使用

官方将通知单独放在了UserNotifications.framework,使用时需要导入框架。UserNotifications.framework主要类文件: UNCalendarNotificationTri...

2019-01-22  ·笔记:沙盒文件的创建(我懒,偷偷复制过来的,无奈脸。。。。)

首先,先总结一下如何获取Documents目录,在ios开发中,我们经常需要检索Documents目录的完整路径以便读取和写入文件,我总结了以下两种方法: 1、NSString *documentsDirect...

2019-01-22  ·笔记:iOS字符串的各种用法(字符串插入、字符串覆盖、字符串截取、分割字符串)(别人的代码...

NSString* str=@"hello";//存在代码区,不可变 NSLog(@"%@",str); //1.【字符串插入】 NSMutableSt...

2019-01-18  ·block本质探寻八之循环引用

说明:阅读本文,请参照之前的block文章加以理解; 一、循环引用的本质 //代码——ARC环境 void test1() { Person *per = [[Person alloc] init]...

block本质探寻八之循环引用
2019-01-17  ·block本质探寻七之内存管理

说明: 阅读本问,请参照block前述文章加以理解; 环境:ARC; 变量类型:基本数据类型或者对象类型的auto局部变量; 一、三种情形 //代码 void test1() { int nu...

block本质探寻七之内存管理
2019-01-17  ·.gitignore中添加的某个忽略文件并不生效

  最近项目中,来了一新同事,协同开发的过程中,发现老是提示pod install,于是照做了,做完项目可以跑成功但发现提示我跟同事一样的问题,Podfile.lock文件需要提交,于是便提交了,然而同事拉取了我的提交日...

2019-01-16  ·Swift 产生 uuid

  项目中、需要客户端生成一个唯一的识别码   let uuid = UUID().uuidString print(uuid)  

2019-01-16  ·block本质探寻六之修改变量

说明: 阅读本文章,请参照前面的block文章加以理解; 本文的变量指的是auto类型的局部变量(包括实例对象); ARC和MRC两种模式均适用; 一、无法修改的原因 //代码   很明显,强行给age赋值会...

block本质探寻六之修改变量
2019-01-16  ·笔记:long、longlong、int、float、NSString相互转换

NSString *string = @"123"; // 1.字符串转int int intString = [string intValue]; // 2.int转字符串 NSString *stringInt...

2019-01-16  ·ios实现fastlane自动化打包

  终于抽出时间来学习自动化打包了,app在测试阶段一天总会经历好几次的打包,每次打包真是身心疲惫,刚打完的包说不定就被测试妹子反应还要微调什么地方,我就真的有气没法出,打一次包怎么也得浪费十几分钟,还不能改动自己的项目...

ios实现fastlane自动化打包
2019-01-16  ·Status bar could not find cached time string ...

  在 Info.plist 中添加如下配置 UIViewControllerBasedStatusBarAppearance false/>    

Status bar could not find cached time string image. Rendering in-process?
2019-01-15  ·BAT面试总结——iOS开发高级工程师

序言 之前也面试别人,现在轮到自己找工作,怎么说呢,现在轮到自己出去面试,怎么说呢,其实还是挺紧张的,原以为自己不会因此紧张或者焦虑,实际上,还是有的,在没找到合适的工作的时候,甚至晚上有点睡不着觉,总觉着有什么事压在心...

BAT面试总结——iOS开发高级工程师
2019-01-15  ·Swift中 删除Array的元素对象

Swift中Array的删除对象 在Swift中数组Array没有removeObject的方法 1、找到下标 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px M...

2019-01-15  ·block本质探寻五之atuto类型局部实例对象

说明:阅读本文章,请参考之前的block文章加以理解; 一、栈区block分析 //代码 //ARC void test1() { { Person *per = [[Perso...

block本质探寻五之atuto类型局部实例对象
2019-01-15  ·Swift中Array的删除对象

Swift中Array的删除对象 在Swift中数组Array没有removeObject的方法 1、找到下标 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px M...

2019-01-14  ·NavigationController

实际开发中都是多控制器的;用一个控制器(父)管理多个控制器(子) ios提供2个特殊的(父)控制器 UINavigationControler 简介 导航控制器,可以轻松完成多个控制器之间的切换,其结构包...

NavigationController
2019-01-14  ·presentedViewController 和 presentingViewContr...

在日常的开发中,多控制器之间的跳转除了使用push的方式,还可以使用 present的方式,present控制器时,就避免不了使用 presentedViewController、presentingViewContro...

2019-01-14  ·block本质探寻四之copy

说明: 阅读本文,最好阅读之前的block文章加以理解; 本文内容:三种block类型的copy情况(MRC)、是否深拷贝、错误copy;   一、MRC模式下,三种block类型的copy情况 //代码 ...

block本质探寻四之copy
2019-01-11  ·UITableView编辑模式大全解

  1、UITableView 的编辑模式 进入编辑模式 代码体现 // 设置 editing 属性 tableView?.editing = true // 这个设置的时候是有动画效果的 tableView...

UITableView编辑模式大全解
2019-01-11  ·关于NSStringFromClass的一点见解

今天做项目的时候遇到一个需求,就是子view视图弹出时,屏蔽掉父view的所有手势,然后想到用 UIGestureRecognizerDelegate代理方法,中间省一些文字(无奈脸),言归正传,NSStringFrom...

2019-01-10  ·block本质探寻三之block类型

一、oc代码 提示:看本文章之前,最好按顺序来看; //代码 void test1() { int age = 10; void(^block1)(void) = ^{ ...

block本质探寻三之block类型
2019-01-10  ·iOS 多线程:『GCD』详尽总结

本文用来介绍 iOS 多线程中 GCD 的相关知识以及使用方法。这大概是史上最详细、清晰的关于 GCD 的详细讲解+总结的文章了。通过本文,您将了解到: 1. GCD 简介 2. GCD 任务和队列 3. GC...

iOS 多线程:『GCD』详尽总结
2019-01-10  ·dispatch_sync和dispatch_async的区别

dispatch_sync 线程同步、dispatch_async线程异步 //同步 dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_...

2019-01-09  ·block本质探寻二之变量捕获

一、代码 说明:本文章须结合文章《block本质探寻一之内存结构》和《class和object_getClass方法区别》加以理解; //main.m #import int a = 10; stat...

block本质探寻二之变量捕获
2019-01-09  ·block本质探寻一之内存结构

一、代码——命令行模式 //main.m #import struct __block_impl { void *isa; int Flags; int Reserved; ...

block本质探寻一之内存结构
2019-01-08  ·快速定位iOS线上BUG在哪个控制器崩溃

  快速定位iOS线上App崩溃在哪个控制器里面,需要和后台配合使用 下载本项目并添加手动添加到项目里 新建所有的页面都继承于YZViewController 在AppDelegate的didFinishLa...

快速定位iOS线上BUG在哪个控制器崩溃
2019-01-05  ·学习主要框架

框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像、声音文件等其他资源。 共享资源库定义应用程序可以调用的函数和方法。 iOS 提供了许多可在应用程序开发中使用的框架。 要使用一个框架...

学习主要框架
2019-01-04  ·您的首个iOS应用程序-配置视图

    一、 简述 Xcode 提供了对象库,您可以将库中的对象添加到串联图文件。其中的一些对象属于视图中的用户界面元素, 例如按钮和文本栏。其他对象为高级对象,例如视图控制器和手势识别器。     二、添加用户元素       ...

您的首个iOS应用程序-配置视图
2019-01-04  ·您的首个iOS应用程序-创建项目

     Xcode 是 Apple 的集成开发环境(又称 IDE),用于 iOS 和 Mac OS X 的开发。在 Mac 上安装 Xcode,也会同时安装了 iOS SDK,                 它包含了iOS 平台的编程...

您的首个iOS应用程序-创建项目
2019-01-04  ·iOS 友盟错误分析-2019

友盟的错误分析越来越人性化了 前提集成了友盟统计,并打包的时候保留了.dSYM文件 先看看效果 可以看到bug显而易见的被发现了!那个文件夹,那一行代码 那么怎么才能这样呢 首先加入符号表,就是.dSYM文件,对应...

iOS 友盟错误分析-2019
2018-12-30  ·iOS关联对象示例详解

背景 在iOS开发中如果我们想给一个对象动态添加属性或者给category添加属性的时候,都是通过runtime的关联对象去实现,那我们添加的属性到底是如何存取的呢?是直接添加到了对象自...

2018-12-28  ·iOS实现短信验证码倒计时

在开发中,经常在需要用户注册的时候会需要实现验证码倒计时的功能,下面是解决这个问题的两种思路(使用UIButton控件) 一、利用NSTimer计时器 1.新建一个UIButton按钮...

2018-12-24  ·iOS Moya实现OAuth请求的方法

0. 起源 开放授权(OAuth)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。 而作为...

2018-12-24  ·详解iOS中position:fixed吸底时的滑动出现抖动的解决方案

两种抖动 为什么抖动还会有两种? 其实是我碰到过两种抖动的场景,第一个场景是native的抖动,第二个场景是h5的抖动。 native的抖动 前端开发人员会在app中打开web...

2018-12-13  ·iOS 控件封装(又名拧螺丝)之排序按钮的开发

前言 排序按钮是实际开发中比较常见的一种控件,最近我也遇到了,今天简单分享下。 虽然功能简单,但是保证你看了不亏,尤其是对UI这块比较薄弱的同学来说。 OK,先看图: ...

iOS 控件封装(又名拧螺丝)之排序按钮的开发
2018-12-13  ·详解iOS 用于解决循环引用的block timer

一、什么是回调函数? 回调函数,本质上也是个函数(搁置函数和方法的争议,就当这二者是一回事)。由“声明”、“实现”、“调用”三部分组成。 在上面的例子中,我可以看出,函数amount(其实...

2018-12-13  ·iOS11.3以下modal中input光标错位的解决方法

先看一下错位的效果: 这本是iOS系统的一个BUG,不过在iOS11.3以后的系统中修复了; 解决办法: 在body标签中添加样式: body { positi...

iOS11.3以下modal中input光标错位的解决方法
2018-12-12  ·iOS中WKWebView的一些特殊使用总结

前言 现在大部分的app只支持iOS8以上的系统了,在接入H5时可以只管最新的WKWebView了。 WKWebView的优势 性能高,稳定性好,占用的内存比较小, 支...

2018-12-12  ·iOS如何优雅地实现序列动画详解

前言 我们的在做动效中经常会有这样的需求,A动画执行完,执行B动画,B动画执行完执行C动画这样的序列,比如如下效果: iOS 10之前,我们可能这样实现这个动画序列,实际上可能你现...

2018-12-11  ·ios基于UICollectionView实现横向瀑布流

在网上找了许久,一直没有发现有提供横向瀑布流效果的。在项目中用到了我就在垂直瀑布流的基础上,进行了修改,做出了横向瀑布流的效果。同时也对一些UICollectionView的属性进行简单的注释...

2018-12-06  ·你应该知道的tableViewCell行高计算处理

前言 UITableView 是在app界面里非常常用的一个控件了,打开一个app,内容列表 作者列表 朋友圈列表等等,,,都离不开 UITableView 。 而 UITableVi...

你应该知道的tableViewCell行高计算处理
2018-12-06  ·iOS使用WKWebView加载HTML5不显示屏幕宽度的问题解决

最近在项目中我们的商品详情页是一个后台返回的图片标签。需要我们自己去写一个HTML5标签进行整合,(相当于重新写了一个HTML页面) :ok_hand:那就没办法了,我就自己写一个标签咯,应...

iOS使用WKWebView加载HTML5不显示屏幕宽度的问题解决
2018-12-06  ·Xcode 10升级导致项目报错的常见问题解决

前言 前不久,伴随着iOS 12版本的发布,苹果升级了Xcode 版本,最新的版本是Xcode 10.1。不过升级后经常会遇到各种编译问题,下面就给大家总结一些常见的错误(我项目遇到的)。 ...

2018-12-05  ·iOS之UITableView计时器的实现方式总结(NSTimer、DispatchSou...

前言 最近工作比较忙,但是还是出来更新博客了。今天博客中所涉及的内容并不复杂,都是一些平时常见的一些问题,通过这篇博客算是对UITableView中使用定时器的几种方式进行总结。本篇博客会给...

iOS之UITableView计时器的实现方式总结(NSTimer、DispatchSource、CADisplayLink)
2019-01-03  ·(转)iOS学习——UIlabel设置行间距和字间距

  在iOS开发中经常会用到UIlabel来展示一些文字性的内容,但是默认的文字排版会觉得有些挤,为了更美观也更易于阅读我们可以通过某些方法将UIlabel的行间距和字间距按照需要调节。   比如一个Label的默认间...

(转)iOS学习——UIlabel设置行间距和字间距
2019-01-03  ·iOS Class结构分析

objc_class结构体 类在OC中是objc_class的结构体指针 typedef struct objc_class *Class; 在objc/runtime.h中objc_class结构体的定义如下: ...

iOS Class结构分析
2019-01-01  ·iOS 内存管理之属性关键字

你好2019!一起努力呀!   主要分三种类型: 1、原子操作相关: nonatomic、atomic nonatomic:非原子操作,对属性赋值的时候不加锁,多线程并发访问会提高访问效率 atomic:原子操作,提供多线...

2018-12-29  ·iOS 枚举的巧用

1.使用层面的理解 在这里首先讲如何简单的使用, 仅仅是使用层面(有理解错误的地方帮忙纠正), 然后我们在去理解位运算符! 在下面的图中我们可以看见枚举值中有(位运算符:左移):     如果...

iOS 枚举的巧用

热门文章

> <

Erlo大厅()

* 这里是“吐槽厅”,所有人可看,只保留当天信息。

  • Erlo.vip2019-02-20 04:11:53Hello、欢迎使用吐槽厅,这里是个吐槽的地方。
  • 首页 笔记分享 Erlo动态 案例展示 搜索
    鼠标试试
    返回顶部