随笔分类 - iOS
摘要:背景 在使用数组(swift)的编码过程中,不让程序崩溃是基本的要求,特别是在团队合作中时。 如果直接下面代码,会出现什么结果: private func collectionSafeBoundsTest1() { let arr = [0, 1, 2, 3] print(arr[100]) } 运
阅读全文
摘要:需求 在地图导航时,始终保持当前路段竖直超前。 设计 因地图暴露的方法中只有设置地图相对于正北的方向角的方法。因此,需要实现“根据两点经纬度坐标计算指南针方位角”的算法,这样在每次切换路段时,调用算法计算新路段指南针方位角,然后设置地图相对于正北的方向角即可实现需求。 示意图如下: 算法实现原理详见
阅读全文
摘要:
一、配置 SDK target 的 buildSetting 中 Defines Module 设置为 YES 分类权限改为 Public 分类名暴露到 SDK 头文件中 二、分情况调用 OC 分类方法为 对象方法 通过对象调用: 示例: -(UIImage *) imagePDFNamed:(NS
阅读全文

摘要:
阅读全文
摘要:能否获取系统wifi列表信息 不能,只能获取用户当前连接的wifi信息 https://developer.apple.com/forums/thread/112177 https://developer.apple.com/documentation/systemconfiguration/161
阅读全文
摘要:是什么(类型) 可变吗 能存啥 NSArray 引用类型,不同指针变量指向同一块内存,对一个变量操作时,会自动映射到另一个变量。 创建后,不可变 可存 OC 语言环境下的 多种数据类型对象,eg:@[@1, "2", 对象] Array 值类型,每个变量有自己的数据拷贝。对一个变量的操作不会影响其他
阅读全文
摘要:
阅读全文
摘要:背景 oc为基础创建的sdk混编工程,在被sdk关联的混编demo工程中swift文件调用时,会崩溃,提示找不到sdk中oc分类方法。常规的,在demo中设置-Objc和-all_load也还是会崩。 工程配置: 网上找了一圈都找不到能解决此问题的答案。 峰回路转 在微信群里提问后,经热心群友提示,
阅读全文
摘要:// 桥接后,OC工程也可用 // HTMCoorTransform.swift // HTMapKit // // Created by LongMa on 2021/8/3. // import Foundation import CoreLocation @objcMembers public
阅读全文
摘要:背景 mapbox 提供的大头针默认没有楼层相关属性,无法实现切换楼层时,只显示对应楼层的大头针效果。客户端同事无法解决此问题,希望我在 SDK 端解决此问题,故进行相关探索(🤷♀️)。由于有段时间没有做地图 SDK 开发了,故进行了如下各种踩坑尝试。 尝试思路 在 mapbox 提供的原有类和
阅读全文
摘要:问题概述 使用的是”预估行高+自动布局“的方法实现动态行高(适用于 iOS7.0 以后系统)。 预估行高: self.gTV.estimatedRowHeight = 90; self.gTV.rowHeight = UITableViewAutomaticDimension; 自动布局,又叫 au
阅读全文
摘要:背景介绍 一般情况下,出于省电、权限、合理性等因素考虑,给人的感觉是很多奇怪的需求安卓可以实现,但是iOS就无法实现!今天要介绍的需求也有这种感觉,就是“当 APP 处于后台或锁屏状态时,依旧可以监听到摇一摇,进而触发某些功能,比如:语音播报”。 在产品经理提出此需求的一瞬间,仿佛周边的空气都凝固了
阅读全文
摘要:背景简介 在初学iOS相关知识过程中,大多都对多线程有些恐惧的心里,同时感觉工作中用上的概率不大。但是如果平时不多积累并学透多线程,当工作中真的需要用到的时候,就很可能简单百度后把一些知识点稀里糊涂地就用到工作中了,殊不知里面有很多的坑,也有很多技巧需要在理论上先做了解,再结合实战,进一步去体会多线
阅读全文
摘要:结论 在需要使用多代理效果时,必须卡在把最后一个代理对象加入multiDelegate的delegates数组后,再对delegate赋值。否则,会导致后添加的代理对象特有的代理方法不回调的问题。 多代理库推荐: https://github.com/JyyJDast1/MultiDelegateO
阅读全文
摘要:背景 前端时间产品经理决定使用百度统计,使得 工程B 中原统计sdk-友盟统计,需要被去除。之前尝试去除过一次,但是因有些错误不知如何解决,暂且注释了功能代码,友盟sdk暂时保留了下来。 最近迭代暂缓,尝试改个思路解决此问题。 新思路 新建工程,pod集成友盟sdk pod删除友盟sdk,编译,看是
阅读全文
摘要:// // main.swift // // // Created by LongMa on 2020/7/4. // Copyright © 2020 . All rights reserved. // import Foundation print("Hello, World!") func k
阅读全文
摘要:起因 项目中双层for循环时,想当然的认为内部局部指针变量的变化会影响外面数组中模型的地址。结果调试后发现,是不对的。 - (void)pmy_updateCachedArr:(NSArray<HTBNWaitBusesM4Cal *> *)cachedArr withNewInfoArr:(NSA
阅读全文
摘要:背景 《爱情公寓5》中有个剧情:每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒。10元最多可喝多少瓶啤酒? 脑海模拟起来的确有点费劲。心算结果是15瓶,而剧情实践居然是20瓶!结合弹幕说的酒吧可能可以借酒,故猜测借酒使最终喝了20瓶。 如果改变拥有的钱数或啤酒价格时,答案又是什么呢? 此时,不禁想用
阅读全文
摘要:添加依赖后,队列中网络请求任务有依赖关系时,任务结束判定以数据返回为准还是以发起请求为准? waitUntilFinished方法容易误解。 依赖关系 // // ViewController.m // OperationTest0108 // // Created by LongMa on 202
阅读全文