- 博客(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
429
转载 安装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
352
原创 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
996
原创 关于cocopods无法更改源码的问题
经过确认,这是xcode 10的一个bug,目前苹果没有提供解决方案,只有以下3种替代解决方案,多次运行无效,不妨试试清除下缓存试试。修改为 legacy build system ,菜单File -> Project/Workspace SettingsProduct -> Clean 清除项目缓存,重新编译...
2019-06-03 10:50:39
427
原创 iOS12.0以上版本在真机上运行的时候,tabbar会有偏移
UITabBar.appearance().isTranslucent = false
2018-11-22 17:45:41
295
原创 swift 自定义UIPageControl
第一种。利用运行时,容易奔溃,审核被拒。// 初始化一个属性列表数组 var ivarName_pageControl: [String] = [] var count: uint = 0 // 获取属性列表 let list = class_copyIvarList(UIPageControl.classForCo...
2018-11-21 17:50:54
1686
原创 一个好玩的波形声音图
class VoiceWaveView: UIView { var audioRecorder:AVAudioRecorder! lazy var audioRecorderDict = Dictionary<String, Any>() var filePath = "" var audioRecorderTimer : ...
2018-11-16 16:01:40
4137
原创 关于swift for 循环 遍历数组删除元素的bug问题
最近做项目的时候,有个循环操作删除数组的元素刚开始是这么写的。for (index, item) in list.enumerate() { ……// 如果里边有删除操作,会有bug,不信你测测。一直显示数组越界}for item in list { ……// 如果里边要删除的话要改良}// 改良之后的写法,亲测没问题Bug,也符合swi
2017-10-30 13:19:15
4703
原创 初级中级高级iOS的一些面试题
技术基础为什么说Objective-C是一门动态的语言?讲一下MVC和MVVM,MVP?为什么代理要用weak?代理的delegate和dataSource有什么区别?block和代理的区别?属性的实质是什么?包括哪几个部分?属性默认的关键字都有哪些?@dynamic关键字和@synthesize关键字是用来做什么的?属性的默认关键字是什么?
2017-06-30 15:33:08
2115
转载 MVC、MVP、MVVM使用关系总结
MVCMVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结
2017-06-30 15:21:34
664
转载 iOS:关于UITableView的性能优化点
iOS:关于UITableView的性能优化点作者:trmbhs2015年最后一天,来总结一下iOS开发中遇到过的性能大坑,特别是UITableView这一用途非常广泛的控件。一个UITableView为展示主题的app遇到的问题大概分为这几类:1、滚动卡顿。2、滚动没有明显卡顿但是掉帧。3、滚动崩溃。现就我开发中遇到的这些问题提出一些可能可以解决问题的地方。导航:1
2016-09-08 18:29:49
338
转载 iOS Runtime应用实例(一)类别添加属性
版权声明:本文为博主原创文章,如需转载请注明出处目录(?)[+]原创Blog,转载请注明出处 http://blog.csdn.net/hello_hwc?viewmode=list我的stackoverflow前言:类别添加属性是Runtime最常见的一个应用。也是个人用的比较多的,前段时间有个需求是要求统计App中的每个控件被点击的次数,虽然友盟
2016-09-08 16:29:35
337
转载 Runtime之Method Swizzling
Runtime之Method Swizzling作者:longshihuaObjective-C 中的 Method Swizzling 是一项异常强大的技术,它可以允许我们动态地替换方法的实现,实现 Hook 功能,是一种比子类化更加灵活的“重写”方法的方式。Method Swizzling 原理在Objective-C中调用一个方法,其实是向一个对象发送消息,查找消息的唯一依据
2016-09-08 16:07:40
218
转载 面试时如何优雅的谈论OC
本文授权转载,作者:吴白在面试中,我们经常会遇到一些原理性的问题,很常识但很难用通俗的语言解释清楚,这也是大部分业务级程序员经常失误的地方。虽然写了多年代码,但是核心思想不清,导致自己的后续发展受限,这是一个优秀的程序员和普通程序员的分水岭。要知其然而知其所以然!这也是整理这篇文章的初衷。文中结合了之前的一些文章,条理更清晰,内容更深入。本文包括:OC的面向对象运行时R
2016-08-31 17:34:03
231
转载 iOS 响应者链
iOS的事件大致分为三种:触摸事件、加速计事件、远程控制事件 首先要理解以下几个概念: 一、响应者对象: 在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”。 UIApplication、UIViewController、UIView都继承自UIResponder,因此它们都是响应者
2016-08-31 10:50:57
8738
转载 iOS中的堆(heap)和栈(stack)的理解
操作系统iOS中应用程序使用的计算机内存不是统一分配空间,运行代码使用的空间在三个不同的内存区域,分成三个段:“text segment“,“stack segment”,“heap segment”。当应用开始以后,函数main() 被调用,一些空间分配在”stack” 中。这是为应用分配的另一个段的内存空间,这是为了函数变量存储需要而分配的内存。每一次在应用中调用一个函数,“sta
2016-08-30 15:45:37
386
转载 iOS容易造成循环引用的三种场景
预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双方都同时保持对方的一个引 用,导致任何时候引用计数都不为0,始终无法释放。若当前对象是一个ViewController,则在dismiss或者pop之后其dealloc无 法被调用,在频繁的push或者present之后内存暴增,然后APP就duang地挂了。下面列举我们变成中比较容易碰到的三种循环引用的情形
2016-08-30 15:43:09
296
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人