摘要:需求:点击某个地方触发事件,可以自由的切换测试、预生产、生产三种环境。 原理:用NSUserDefault或者Singleton去维护环境变量集合。 宏定义配置 /***************单例模式宏**************/ #define MACRO_SHARED_INSTANCE_IN 阅读全文
posted @ 2018-04-27 14:44 黄增松 阅读(2026) 评论(0) 推荐(0) 编辑
摘要:开发一般APP必备三方库,省力秘籍!!!本篇文章会经常更新最新常用的三方。 1.网络请求库 AFNetworking https://github.com/AFNetworking/AFNetworking swift版 https://github.com/Alamofire/Alamofire 阅读全文
posted @ 2018-04-12 17:14 黄增松 阅读(2164) 评论(1) 推荐(1) 编辑
摘要:1.生成.framework前的配置工作详见:http://www.cnblogs.com/huangzs/p/8029258.html 2. 将以下脚本粘贴进去,修改FMK_NAME。 # Sets the target folders and the final framework produc 阅读全文
posted @ 2018-01-03 16:39 黄增松 阅读(240) 评论(0) 推荐(1) 编辑
摘要:一:GitHub新建仓库,并clone到本地 1、注册GitHub账号并登录 2、右上方点击+,新建仓库(仓库名字(Repository name)、仓库权限(Public)、readme、license) 创建完成如下图: 3、检出仓库 新建一个文件夹SDK: 打开终端: 将FireRadarSD 阅读全文
posted @ 2017-12-22 19:19 黄增松 阅读(590) 评论(0) 推荐(0) 编辑
摘要:代码调试好了开始打包成sdk,下面是将要打包的FRSDK代码(FRSDK.h暴露在外面有别人调用) 1.创建新工程(Xcode File-New-Project) 2.把下面的红色框的东西移除 3.将原工程里调试好的FRSDK代码copy到此工程后为下图 4.接下来我们选择出来需要暴露出来的头文件 阅读全文
posted @ 2017-12-12 18:55 黄增松 阅读(455) 评论(0) 推荐(0) 编辑
摘要:代码调试好了开始打包成sdk,下面是将要打包的FRSDK代码(FRSDK.h暴露在外面有别人调用) 1.创建新工程(Xcode File-New-Project) 2.把下面的红色框的东西移除 3.将原工程里调试好的FRSDK代码copy到此工程后为下图 4.接下来我们选择出来需要暴露出来的头文件 阅读全文
posted @ 2017-10-19 16:21 黄增松 阅读(4086) 评论(0) 推荐(0) 编辑
摘要:一、文档结构管理 1.建立Library文件夹,所有第三方库放入其中。 2.建立Tool文件夹,自已封装的工具类放入其中。 3.建立Constant.h头文件,常量定义于其中。Constant.h文件放入Tool文件组里面。 4.建立Model、View、Controller三个文件夹,每个文件夹里 阅读全文
posted @ 2016-07-07 16:55 黄增松 阅读(364) 评论(0) 推荐(1) 编辑
摘要:需求:获取经纬度。 方案:我自定义了一个类模块CLLocationModule.swift 备注以下代码里 let IS_IOS8 = (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 8.0 最开始的代码 imp 阅读全文
posted @ 2016-03-29 19:16 黄增松 阅读(2042) 评论(1) 推荐(0) 编辑
摘要:小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。 如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。 请你计算 最多 能喝到多少瓶酒。 示例 1: 输入:numBottles = 9, numExchange = 3 输出:13 解释:你可以 阅读全文
posted @ 2021-06-18 14:44 黄增松 阅读(3) 评论(0) 推荐(0) 编辑
摘要:假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花? 阅读全文
posted @ 2021-06-17 17:38 黄增松 阅读(4) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 快速排序作为分治代表,通常实现由三步 1、数据中选择一个元素作为”基准”(pivot),通常选取最后一个元素;2、分区(partition) 所有小于”基准”的元素,都移 阅读全文
posted @ 2021-06-17 09:33 黄增松 阅读(4) 评论(0) 推荐(0) 编辑
摘要:retain源码分析 release源码分析 dealloc源码分析 retainCount源码分析 转自:https://www.jianshu.com/p/49e1895972a2 阅读全文
posted @ 2021-06-10 14:27 黄增松 阅读(5) 评论(0) 推荐(0) 编辑
摘要:说说背景,研究下面的代码时,KVO后[obj class]与object_getClass(id obj)的结果竟会不一致? PersonModel *aPersonModel = [[PersonModel alloc] init]; aPersonModel.name=@"lisi"; NSLo 阅读全文
posted @ 2021-06-04 14:52 黄增松 阅读(22) 评论(0) 推荐(0) 编辑
摘要:1.微博面试题 dispatch_queue_t queue = dispatch_queue_create("com.lg.cooci.cn", DISPATCH_QUEUE_CONCURRENT); dispatch_async(queue, ^{ // 耗时 NSLog(@"1"); }); 阅读全文
posted @ 2021-05-31 16:13 黄增松 阅读(10) 评论(0) 推荐(0) 编辑
摘要:静态库和动态库的区别: 1、静态库在链接时会被完整的拷贝到项目中,如果有多个App都是用了同一个静态库,会拷贝多份,浪费内存 2、动态库不会赋值,只有一份,在程序运行时动态加载到内存中,多个App共用一份,节约内存 阅读全文
posted @ 2021-05-26 17:48 黄增松 阅读(21) 评论(0) 推荐(0) 编辑
摘要:数组(下标获取) 链表(单链表、双链表、循环链表) 队列(先进先出) 栈(先进后出) 二叉树(根节点、左子树、右子树) 图 字典树(这是一种高效的树形结构,但值得单独说明) 散列表(哈希表) 阅读全文
posted @ 2021-05-21 09:27 黄增松 阅读(9) 评论(0) 推荐(0) 编辑
摘要:在2013年9月,苹果推出了iPhone5s,配备了首个采用64位架构的A7双核处理器,为了节省内存和提高执行效率,苹果提出了标记指针(Tagged Pointer) 的概念。对于64位程序,引入Tagged Pointer后,相关逻辑能减少一半的内存占用,以及3倍的访问速度提升,100倍的创建、销 阅读全文
posted @ 2021-05-20 09:27 黄增松 阅读(26) 评论(0) 推荐(0) 编辑
摘要:sizeof: 是一个运算符,获取的是类型的大小(int、size_t、结构体、指针变量等),程序编译时获取 class_getInstanceSize: 是一个函数,程序运行时才获取,创建的对象加所有实例变量实际占用的内存大小, 内存对齐一般是以【8】对齐 #import <objc/runtim 阅读全文
posted @ 2021-05-19 17:10 黄增松 阅读(36) 评论(0) 推荐(0) 编辑