摘要:常见的面试题:以下代码存在什么样的问题?应该如何改进? for (int i = 0; i < 100000; i++) { NSString *str = @"abc"; str = [str stringByAppendingString:@"xyz"]; } 利用leaks查看内存泄漏情况 可 阅读全文
posted @ 2018-07-17 17:07 黄增松 阅读 (83) 评论 (0) 编辑
摘要:需求:点击某个地方触发事件,可以自由的切换测试、预生产、生产三种环境。 原理:用NSUserDefault或者Singleton去维护环境变量集合。 宏定义配置 /***************单例模式宏**************/ #define MACRO_SHARED_INSTANCE_IN 阅读全文
posted @ 2018-04-27 14:44 黄增松 阅读 (886) 评论 (0) 编辑
摘要:开发一般APP必备三方库,省力秘籍!!!本篇文章会经常更新最新常用的三方。 1.网络请求库 AFNetworking https://github.com/AFNetworking/AFNetworking swift版 https://github.com/Alamofire/Alamofire 阅读全文
posted @ 2018-04-12 17:14 黄增松 阅读 (1256) 评论 (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 黄增松 阅读 (63) 评论 (0) 编辑
摘要:一:GitHub新建仓库,并clone到本地 1、注册GitHub账号并登录 2、右上方点击+,新建仓库(仓库名字(Repository name)、仓库权限(Public)、readme、license) 创建完成如下图: 3、检出仓库 新建一个文件夹SDK: 打开终端: 将FireRadarSD 阅读全文
posted @ 2017-12-22 19:19 黄增松 阅读 (308) 评论 (0) 编辑
摘要:代码调试好了开始打包成sdk,下面是将要打包的FRSDK代码(FRSDK.h暴露在外面有别人调用) 1.创建新工程(Xcode File-New-Project) 2.把下面的红色框的东西移除 3.将原工程里调试好的FRSDK代码copy到此工程后为下图 4.接下来我们选择出来需要暴露出来的头文件 阅读全文
posted @ 2017-12-12 18:55 黄增松 阅读 (146) 评论 (0) 编辑
摘要:代码调试好了开始打包成sdk,下面是将要打包的FRSDK代码(FRSDK.h暴露在外面有别人调用) 1.创建新工程(Xcode File-New-Project) 2.把下面的红色框的东西移除 3.将原工程里调试好的FRSDK代码copy到此工程后为下图 4.接下来我们选择出来需要暴露出来的头文件 阅读全文
posted @ 2017-10-19 16:21 黄增松 阅读 (2825) 评论 (0) 编辑
摘要:1。第一种解决方案 就是在每一个 可能传回null 的地方 使用 if([object isEqual:[NSNUll null]]) 去判断 2。第二种解决方案 网上传说老外写了一个Category,叫做NullSafe..只支持到ios9,3 ,实测 并没有解决我的问题.. NullSafe的原 阅读全文
posted @ 2017-08-29 23:28 黄增松 阅读 (1220) 评论 (0) 编辑
摘要:一、文档结构管理 1.建立Library文件夹,所有第三方库放入其中。 2.建立Tool文件夹,自已封装的工具类放入其中。 3.建立Constant.h头文件,常量定义于其中。Constant.h文件放入Tool文件组里面。 4.建立Model、View、Controller三个文件夹,每个文件夹里 阅读全文
posted @ 2016-07-07 16:55 黄增松 阅读 (202) 评论 (0) 编辑
摘要:2015年8月24号,是一个让我难以忘记的日子。就在那天,我跳槽进入了一个新的公司。新公司给我的印象不错:第一,有180人左右,工作稳定,(这样的IT公司,也不算小了);第二,工作环境也不错,有单独的活动区域;第三:公司福利也不错,六险一金,半年三天带薪病假。工作一年内就有5天年假;第四:给我的待遇 阅读全文
posted @ 2016-06-01 17:24 黄增松 阅读 (6292) 评论 (141) 编辑
摘要:需求:获取经纬度。 方案:我自定义了一个类模块CLLocationModule.swift 备注以下代码里 let IS_IOS8 = (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 8.0 最开始的代码 imp 阅读全文
posted @ 2016-03-29 19:16 黄增松 阅读 (1525) 评论 (1) 编辑
摘要:参考链接记录个问题,这是xcode10后新build系统导致的,新系统帮我们检查了很多东西,最优化我们的构建, 两种方案 1.用旧的系统(不推荐) 2.这个是build setting->build phases->[CP] Embed Pods Frameworks这里面output files里 阅读全文
posted @ 2019-09-16 15:46 黄增松 阅读 (2) 评论 (0) 编辑
摘要:思路 1.建个UIViewController的分类 2.hook方法viewDidLoad(Aspects是三方库 可以不用) 3.看下面蓝色部分代码 #import "UIViewController+TJSwizzling.h" #import <Aspects.h> @implementat 阅读全文
posted @ 2019-09-06 14:48 黄增松 阅读 (7) 评论 (0) 编辑
摘要:添加远程代码仓库: git remote add origin 远程仓库地址 提交代码到远程仓库: git push origin master 本地打标签: git tag -a 标签号 -m "注释" 将本地标签 提交到远程仓库: git push origin 标签名称 将所有本地标签 提交到 阅读全文
posted @ 2019-09-04 15:02 黄增松 阅读 (7) 评论 (0) 编辑
摘要:1、查看代码变化git status2、接着输入 git rm –cached 刚才复制的地址 ,如下。git rm --cached RxSwift/Rx.xcodeproj/xcuserdata/hanrovey.xcuserdatad3、提交代码git commit -m "删除xcusers 阅读全文
posted @ 2019-08-20 10:25 黄增松 阅读 (11) 评论 (0) 编辑
摘要:1.按钮addTarget [[self.aDepositBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(__kindof UIControl * _Nullable x) { //点击处理 }] 阅读全文
posted @ 2019-08-07 20:45 黄增松 阅读 (14) 评论 (0) 编辑
摘要:// 防止多次调用 #define kPreventRepeatClickTime(_seconds_) \ static BOOL shouldPrevent; \ if (shouldPrevent) return; \ shouldPrevent = YES; \ dispatch_after 阅读全文
posted @ 2019-08-06 11:38 黄增松 阅读 (11) 评论 (0) 编辑
摘要:LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54 安装curl "https://nodejs.org/dist/latest/node-${VERSION:-$(wget -qO- https://nodejs.org/dist/latest/ | se 阅读全文
posted @ 2019-07-29 17:12 黄增松 阅读 (231) 评论 (0) 编辑
摘要:最近安装 Homebrew 遇到的坑,总结一下。 我的 Mac 版本是 10.13.6。 首先安装 Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/in 阅读全文
posted @ 2019-07-29 16:39 黄增松 阅读 (205) 评论 (0) 编辑
摘要:问题描述: 首先我的版本是 Xcode 10.1 如果按照以前的方法安装brew 复制 1 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 就会一直卡 阅读全文
posted @ 2019-07-29 15:56 黄增松 阅读 (18) 评论 (0) 编辑
摘要:结论:containsObject:是在比较内存地址,即使两个对象内容完全一样,地址不同,那也是不同的。我个人认为这个方法应该叫是否存在同一个对象 (开始不知道这个知识,被坑,至少浪费了3个钟头,数组里对象内容一样,就是不包含这个对象,MMP,自己无知怪谁呢) Person中包含name和age,分 阅读全文
posted @ 2019-07-29 14:06 黄增松 阅读 (26) 评论 (0) 编辑