自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 关于ReactiveObjC和ReactiveSwift 系统通知在swift中的用法

注意观察forName属性,如果用swift 的语法UIResponder.keyboardWillShowNotification不会有任何反应 NotificationCenter.default.rac_addObserver(forName: "UIKeyboardWillShowNotification", object: nil).subscribeNext { notifationin print("监听到") }底层调用...

2021-07-30 11:31:55 351

转载 安装Dart Homebrew 失败

问题:macOS安装Homebrew时总是报错(Failed to connect to raw.githubusercontent.com port 443: Connection refused)原因:由于某些你懂的因素,导致GitHub的raw.githubusercontent.com域名解析被污染了。解决办法:通过修改hosts解决此问题。查询真实IP在https://www.ipaddress.com/查询raw.githubusercontent.com的真实...

2021-03-18 15:03:17 282

原创 Swift中$0、$1的实际含义

swift自动为闭包提供参数名缩写功能,可以直接通过$0和$1等来表示闭包中的第一个第二个参数,并且对应的参数类型会根据函数类型来进行判断。如下代码:不使用$0 $1这些来代替let numbers = [1,2,5,4,3,6,8,7] sortNumbers = numbers.sorted(by: { (a, b) -> Bool in return a < b }) print("numbers -" + "

2021-03-12 15:59:19 722

原创 关于cocopods无法更改源码的问题

经过确认,这是xcode 10的一个bug,目前苹果没有提供解决方案,只有以下3种替代解决方案,多次运行无效,不妨试试清除下缓存试试。修改为 legacy build system ,菜单File -> Project/Workspace SettingsProduct -> Clean 清除项目缓存,重新编译...

2019-06-03 10:50:39 376

原创 iOS12.0以上版本在真机上运行的时候,tabbar会有偏移

        UITabBar.appearance().isTranslucent = false

2018-11-22 17:45:41 260

原创 swift 自定义UIPageControl

第一种。利用运行时,容易奔溃,审核被拒。// 初始化一个属性列表数组        var ivarName_pageControl: [String] = []         var count: uint = 0        // 获取属性列表        let list = class_copyIvarList(UIPageControl.classForCo...

2018-11-21 17:50:54 1577

原创 一个好玩的波形声音图

 class VoiceWaveView: UIView {        var audioRecorder:AVAudioRecorder!    lazy var audioRecorderDict = Dictionary&lt;String, Any&gt;()    var filePath = ""    var audioRecorderTimer : ...

2018-11-16 16:01:40 3857

原创 swift 字典key按ASCLL码排序

     let sortedKeys = Array(params.keys).sorted()

2018-11-02 09:03:47 2050

原创 关于swift for 循环 遍历数组删除元素的bug问题

最近做项目的时候,有个循环操作删除数组的元素刚开始是这么写的。for (index, item) in list.enumerate() {    ……// 如果里边有删除操作,会有bug,不信你测测。一直显示数组越界}for item in list {    ……// 如果里边要删除的话要改良}// 改良之后的写法,亲测没问题Bug,也符合swi

2017-10-30 13:19:15 4546

原创 初级中级高级iOS的一些面试题

技术基础为什么说Objective-C是一门动态的语言?讲一下MVC和MVVM,MVP?为什么代理要用weak?代理的delegate和dataSource有什么区别?block和代理的区别?属性的实质是什么?包括哪几个部分?属性默认的关键字都有哪些?@dynamic关键字和@synthesize关键字是用来做什么的?属性的默认关键字是什么?

2017-06-30 15:33:08 2052

转载 MVC、MVP、MVVM使用关系总结

MVCMVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结

2017-06-30 15:21:34 623

转载 iOS:关于UITableView的性能优化点

iOS:关于UITableView的性能优化点作者:trmbhs2015年最后一天,来总结一下iOS开发中遇到过的性能大坑,特别是UITableView这一用途非常广泛的控件。一个UITableView为展示主题的app遇到的问题大概分为这几类:1、滚动卡顿。2、滚动没有明显卡顿但是掉帧。3、滚动崩溃。现就我开发中遇到的这些问题提出一些可能可以解决问题的地方。导航:1

2016-09-08 18:29:49 285 1

转载 iOS Runtime应用实例(一)类别添加属性

版权声明:本文为博主原创文章,如需转载请注明出处目录(?)[+]原创Blog,转载请注明出处 http://blog.csdn.net/hello_hwc?viewmode=list我的stackoverflow前言:类别添加属性是Runtime最常见的一个应用。也是个人用的比较多的,前段时间有个需求是要求统计App中的每个控件被点击的次数,虽然友盟

2016-09-08 16:29:35 296

转载 Runtime之Method Swizzling

Runtime之Method Swizzling作者:longshihuaObjective-C 中的 Method Swizzling 是一项异常强大的技术,它可以允许我们动态地替换方法的实现,实现 Hook 功能,是一种比子类化更加灵活的“重写”方法的方式。Method Swizzling 原理在Objective-C中调用一个方法,其实是向一个对象发送消息,查找消息的唯一依据

2016-09-08 16:07:40 190

转载 面试时如何优雅的谈论OC

本文授权转载,作者:吴白在面试中,我们经常会遇到一些原理性的问题,很常识但很难用通俗的语言解释清楚,这也是大部分业务级程序员经常失误的地方。虽然写了多年代码,但是核心思想不清,导致自己的后续发展受限,这是一个优秀的程序员和普通程序员的分水岭。要知其然而知其所以然!这也是整理这篇文章的初衷。文中结合了之前的一些文章,条理更清晰,内容更深入。本文包括:OC的面向对象运行时R

2016-08-31 17:34:03 194

转载 iOS 响应者链

iOS的事件大致分为三种:触摸事件、加速计事件、远程控制事件  首先要理解以下几个概念:  一、响应者对象:    在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”。    UIApplication、UIViewController、UIView都继承自UIResponder,因此它们都是响应者

2016-08-31 10:50:57 213

转载 iOS中的堆(heap)和栈(stack)的理解

操作系统iOS中应用程序使用的计算机内存不是统一分配空间,运行代码使用的空间在三个不同的内存区域,分成三个段:“text segment“,“stack segment”,“heap segment”。当应用开始以后,函数main() 被调用,一些空间分配在”stack” 中。这是为应用分配的另一个段的内存空间,这是为了函数变量存储需要而分配的内存。每一次在应用中调用一个函数,“sta

2016-08-30 15:45:37 344

转载 iOS容易造成循环引用的三种场景

预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双方都同时保持对方的一个引 用,导致任何时候引用计数都不为0,始终无法释放。若当前对象是一个ViewController,则在dismiss或者pop之后其dealloc无 法被调用,在频繁的push或者present之后内存暴增,然后APP就duang地挂了。下面列举我们变成中比较容易碰到的三种循环引用的情形

2016-08-30 15:43:09 260

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除