位域-isa指针
一、isa指针结构
union isa_t
{
isa_t() { }
isa_t(uintptr_t value) : bits(value) { }
Cla cls;
uintptr_t bits;
#if SUPPOR...[2019/10/10]
iOS---OBJC_ASSOCIATION_ASSIGN可能引起的Crash
OBJC_ASSOCIATION_ASSIGN类似于我们常用的a ign,a ign策略的特点就是在对象释放以后,不会主动将应用的对象置为nil,这样会有访问僵尸对象导致应用崩溃的风险。为了解决这个问题:我们可以创建一个替身对象,以OBJC_ASSOCIATION_RETAIN_NON...[2019/10/10]
ios学习之路:Xcode+swift+打包ipa一步一坑记录
咳咳,作为公司的Android开发(兼java接口开发,兼软件测试,兼运维……)由于公司ios开发小伙伴离我而去,ios的app出了问题,急需处理。于是领导决定由我来处理一下。就是用证书重新打包的事儿,所有人都觉得倍儿简单(包括我),于是我用公司的macmin...[2019/10/8]
iOS编译自动升级版本号脚本iOS编译自动升级版本号脚本
版权申明:
本文原创首发于以下网站,您可以自由转载,但必须加入完整的版权声明
博客园MogooStudio:https: www.cnblogs.com/MogooStudio/
csdn博客MogooStudio:https: blog.csdn.net/nmjkl001/
使用方...[2019/9/29]
MAC安装Flutter
系统环境要求
Flutter因为是新出的框架,所以对系统还是有一定的要求的。
MacOS(64-bit)
磁盘空间:大于700M,如果算上Android Studio等编辑工具,尽量大于3G。
命令号工具:bash、mkdir、rm、git、curl、unzip、which、brew ...[2019/9/27]
Flutter - 生命周期
StatefulWidget 需要借助于 State 对象,在特定的阶段来处理用户的交互或其内部数据的变化,并体现在 UI 上。这个特定的阶段,就涵盖来一个组件从加载到卸载的全过程,即生命周期。Flutter 中的 Widget 也存在生命周期,并且通过 State 来体现。
而 A...[2019/9/27]
super performSelector: 解决调用父类私有方法的问题super performSelector: 解决调用父类私有方法的问题
super performSelector: 解决objc调用父类私有方法的问题
Objc中[super performSelector: ...]并不会像其他语言一样能良好的工作。super只是编译器符号。
想要安全和快速的调用父类的私有方法应该是直接调用父类方法的函数...[2019/9/26]
Method SwizzlingMethod Swizzling
Method Swizzling 的最佳实践
下面我们就以替换 viewWillAppear 方法为例谈谈 Method Swizzling 的最佳实践,话不多说,直接上代码:
@interface UIViewController (M...[2019/9/26]
iOS 13 正式发布,来看看有哪些 API 变动
iOS 13 已正式发布,网上对其用户体验上的新特性的描述也很多。对于开发来说,需要关注的另一方面是新系统在 API 层面做了哪些改动,从而会对我们现有的代码产生什么影响。
在这里,我们基于 iOS 13 Release Notes 做了一些整理,主要是列表出 Apple 提供的一些新...[2019/9/23]
《垃圾分类助手-生活的好帮手-技术支持》
垃圾分类助手-生活的好帮手的技术支持,如果您使用中出现什么问题或者对我们产品有什么改进建议,请随时与我联系。
电话:15990075212
邮箱:m15990075212_2@163.com
应用简介
垃圾分类小助手-生活的好帮手能够快速搜索垃圾分类,高效率识别垃圾分类,...[2019/9/23]
解决:target overrides the `GCC_PREPROCESSOR_DEFINITIONS`
[!] Please close any current Xcode se ions and use `******.xcworkspace` for this project from now on.Sending statsPod installation complete! The...[2019/9/18]
基于Moya、RxSwift和ObjectMapper优雅实现REST API请求
在Android开发中有非常强大的 Retrofit 请求,结合RxJava可以非常方便实现 RESTful API 网络请求。在 iOS开发中也有非常强大的网络请求库 Moya ,Moya是一个基于 Alamofire 开发的,轻量级的Swift网络层。Moya的可扩展性非常强,可以方...[2019/9/18]
uni-app ios 苹果真机运行
首先我们准备苹果手机一台,数据线一根,然后连接到电脑。
1.电脑安装iTunes 软件,网址:http: oft.onlinedown.net oft/279734.htm
安装完成之后打开iTunes ,此时苹果设备应该会弹出授权,点击允许就行。
&...[2019/9/12]
iOS13适配的实现方法
1.私有KVC
[self setValue:baseTabBar forKey:@"tabBar"]; 正常
[_textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"...[2019/9/12]
浅谈iOS开发如何适配暗黑模式(Dark Mode)
暗黑模式
原理
将同一个资源,创建出两种模式的样式。系统根据当前选择的样式,自动获取该样式的资源
每次系统更新样式时,应用会调用当前所有存在的元素调用对应的一些重新方法,进行重绘视图,可以在对应的方法做相应的改动
资源文件适配
创建一个A ets...[2019/9/12]
【原】导入framework报错解决(以ReactiveObjC.framework为例)
1、当导入ReactiveObjC.framework后,进行编译时报错:framework not found xxx
报错如下图:
解决办法:
? ? Targets?—> Build Settings?—> Search Paths 在 Framework Se...[2019/9/10]
iOS---------金额转大写
-(NSString *)digitUppercase:(NSString *)numstr{ double numberals=[numstr doubleValue]; NSArray *numberchar = @[@"零",@"壹",@"贰",@"叁",@"肆",...[2019/9/10]
iOS----------componentsJoinedByString 和 componentsSeparatedByString 的方法的区别
将string字符串转换为array数组
NSArray *array = [Str componentsSeparatedByString:@","];
==反向方法
将array数组转换为string字符串
NSString *tempSt...[2019/9/10]
KVO-键值监听
键值监听,就是可以监听对象某个属性值的变化;
首先,在工程中,新建一个Person的类
@interface Person : NSObject
@property (nonatomic, copy) NSString *name;
@end
在viewC...[2019/9/2]
iOS 视图渲染数据转CVPixelBuffer
近两年一直从事视频行业的开发, 加班也比较严重, 好久没有写文章了, 最近稍微有些时间, 前来写点文章, 记录一些开发中遇到的问题, 和解决方法!
做视频会议项目, 当然是离不开音视频啦, 也常常和WebRTC打交道, 包括编译WebRTC, 修改源码, 还有C++和OC的混编开发, J...[2019/8/29]
iOS实现文字水平无间断滚动效果
IOS跑马灯效果,实现文字水平无间断滚动,示例代码如下:
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController{
NSTimer ...[2019/8/27]
iOS AOP实战
AOP: 面向切面编程,偏向于处理业务的某个阶段
适用场景:
1. 参数校验:网络请求前的参数校验,返回数据的格式校验等等
2. 无痕埋点:统一处理埋点,降低代码耦合度
3. 页面统计:帮助统计页面访问量
4. 事务处理:拦截指定事件,添加触发事件
...[2019/8/26]
【原】UILabel 设置了 attributedText 后省略号不显示
在开发中,对于一个 UILabel 我们都会设置 lineBreakMode 属性。
我在开发中就遇到个比较有意思的问题,所以就写了这篇博客,与大家共勉!
对于一个 UILabel ,我先设置了 self.titleLbl.lineBreakMode = NSLineBreakByT...[2019/8/23]
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
统一捕获接口报错
弹窗提示
报错重定向
基础鉴权
表单序列化
实现的功能
统一捕获接口报错 : 用的axios内置的拦截器
弹窗提示: 引入 Element UI 的 Me age 组件
报错重定向: 路由钩子...[2019/8/21]
【原】iOS查找私有API
喜接新项目往往预示的会出一堆问题。解决问题的同时往往也就是学到更多东西的时候,这也许就是学习到新东西最直接最快速的方法吧!
小编经过努力,新项目终于过测试了,可是被苹果大大给拒了,好苦啊,最近的审核真的是没有谁了。这回被拒是因为项目中存在私有api,下图为被拒信息。
这就坑了啊...[2019/8/20]
git找回丢失的代码
多人开发时找回丢失的代码
1.先保证所有分支的代码都已经提交并拉取到最新状态。
2.最重要的是需要找到最近一条自己代码还存在的记录,然后复制到最近的更早一条的提交记录的id,比如e36e9e76da144536c196147b17335288da52c2ff;查找当前分支自己最新...[2019/8/16]
URL Schemes of iOS
About
prefs:root=General&path=About
Acce ibility
prefs:root=General&path=ACCESSIBILITY
Airplane Mode On
pre...[2019/8/16]
IOS面试题详解(二).. - 雄霸天下-无人能挡
文章转载自:http: www.pythonheidong.com/blog/article/3307/
上一篇文章列出了共32道IOS面试题: http: www.cnblogs.com/fkdd/archive/2012/03/13/2394724.html
下面从第一题开始解答:
...[2019/8/15]
iOS面试题 - 雄霸天下-无人能挡
文章转载自:http: www.pythonheidong.com/blog/article/3327/
iOS面试题
1.Difference between shallow copy and deep copy?
浅复制和深复制的区别?
浅层复制:指向对象的指...[2019/8/15]
iOS之2016面试题一 - 雄霸天下-无人能挡iOS之2016面试题一 - 雄霸天下-无人能挡
文章转载自:http: www.pythonheidong.com/blog/article/3337/
序言
招聘高峰期来了,大家都非常积极地准备着跳槽,那么去一家公司面试就会有一堆新鲜的问题,可能不会,也可能会,但是了解不够深。本篇文章为群里的小伙伴们去宝库公司的笔试题,由笔者整理并提供...[2019/8/15]
react-native 键盘遮挡输入框
Android上已经自动对键盘遮挡输入框做了处理,所以我们只需要关注ios。
1.首先引入 KeyboardAvoidingView
import { KeyboardAvoidingView } from 'react-native';
2.然后在页面的最外层加上 K...[2019/8/12]
iOS面试题总结
1. 多线程的底层实现?
1. 首先搞清楚什么是线程、什么是多线程
2. Mach是第一个以多线程方式处理任务的系统,因此多线程的底层实现机制是基于Mach的线程
3. 开发中很少用Mach级的线程,因为Mach级的线程没有提供多线程的基本特征,线程之间是独立的
4. 开发中实现多...[2019/8/12]
Nginx代理axios请求以及注意事项详解
前言
近期写个小demo,因为用到某大厂的在线数据,接口做了跨域限制,所以利用Nginx代理来解决这些问题。
1. nginx.conf 配置信息
由于nginx.conf配置信息较多,本篇只关注跟axios和静态资源请求设置,顺便也将常见的一些配置项备注一下。具体设置如下:
...[2019/8/12]
给最近正在找工作(iOS)的朋友一些建议/经验
众所周知, iOS开发找工作越来越难, 企业要求越来越高,一方面是资本寒冬期+七八月是企业招人淡季, 另外一方面也是iOS市场饱和。最近有出去看新机会, 所以下面记录一下面试XimalayaFM的大概过程。
面试一共分为4轮,全程手写代码和算法。
一面:自我介绍, 然后问一下...[2019/8/5]
FFmpeg-ios 编译
需要工具:
1 2 3 4 5 6
1.gas-preproce or 2.yasm 3.FFmpeg-iOS-build-script(ps:这个脚本真的是太好了,帮我们省了很多事) 4.kxmovie(ps:这个是第三方播放库) 1、脚本参考Git上的:https: gith...[2019/8/2]
【OC底层】isMemberOfClass、isKindOfClass原理分析
isMemberOfCla
- 调用者必须是传入的类的实例对象才返回YES- 判断调用者是否是传入对象的实例,别弄反了,如 [s1 isMemberOfCla :p1] ,意思是s1是否是p1的实例对象- 去去父类递归查找判断
源码:
+ (BOOL)isMemberOfCla :(...[2019/8/2]
SwiftUI学习(一)
总览
如果你想要入门 SwiftUI 的使用,那 Apple 这次给出的官方教程绝对给力。这个教程提供了非常详尽的步骤和说明,网页的交互也是一流,是觉得值得看和动手学习的参考。
不过,SwiftUI 中有一些值得注意的细节在教程里并没有太详细提及,也可能造成一些困惑。这篇文章以我的个人观点对教程...[2019/7/30]
那些你不知道的Mac截屏功能
今天介绍Mac的截图功能,如果你以为Shift + Command + 3 / 4就是Mac全部的截屏功能的话,那你小看Mac了。它远比你想得强大。
1.Shift + Cmd + 3 ——截取全屏
2.Sh...[2019/7/29]
iOS----------项目的目录结构能看出你的开发经验
1、项目的目录结构能看出你的开发经验
2、iOS工程目录结构的思考
原文链接:http: www.cnblogs.com/KiVen2015/p/11250926.html[2019/7/29]
iOS 类知乎”分页”效果的实现?iOS 类知乎”分页”效果的实现?
我们先看张gif图看一下效果(LICEcap录制的有点卡, 凑合看)
好像还是卡, 怼个视频演示链接吧: https: m.weibo.cn/1990517135/4398431764047996
我们先来分析一下页面结构, 然后分析具体动画实现.
页...[2019/7/29]
iOS 图解弹幕功能的实现
先来看一张效果图(LICEcap录制的有点卡, 凑合看)
理一下大概流程:
接下来实现: 弹幕视图从底部弹上来, 依次动画向上滚动, 出屏幕就移除加入重用队列, 下次使用.
定义相关属性:
1. 根据弹幕区域, 确定总共需要的弹...[2019/7/25]
IOS系统在Safari安装ipa文件
配置点击下载的地址
itms-services: ?action=download-manifest&url= "plist文件路径"
plist文件配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ...[2019/7/22]
UITableView HeaderView,FooterView 使用SnapKit布局导致约束异常
今天做一个APP里面设置页面(个人中心) 就是一个列表菜单 顶部是一个头像和账户标题, 底部为一个退出登录按钮
当然我第一时间就想到了UITableView, HeaderView, FooterView
我创建了两个类文件, 用来做UITableView 的head...[2019/7/22]
iOS 为何使用runtime方法交换多次后却能按照交换顺序依次执行代码逻辑?
题目: 假设我们有一个ViewController,
Category A(ViewController),
Category B(ViewController),
Category C(ViewController)
4个文件, 其中3个category中都实现了自定义vi...[2019/7/22]
Swift 并行编程现状和展望 - async/await 和参与者模式Swift 并行编程现状和展望 - async/await 和参与者模式
Swift 并行编程现状和展望 - async/await 和参与者模式
这篇文章不是针对当前版本 Swift 3 的,而是对预计于 2018 年发布的 Swift 5 的一些特性的猜想。如果两年后我还记得这篇文章,可能会回来更新一波。在此之前,请当作一篇对现代语言并行编程特性的不太严谨科普文来...[2019/7/22]
Swift实战技巧Swift实战技巧
Swift实战技巧
从OC转战到Swift,差别还是蛮大的,本文记录了我再从OC转到Swift开发过程中遇到的一些问题,然后把我遇到的这些问题记录形成文章,大体上是一些Swift语言下面的一些技巧,希望对有需要的人有帮助
OC调用方法的处理
给OC调用的方法需要添加@objc标记,一般...[2019/7/22]
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
问题症状
今天在开发一个移动端的 H5 页面时,遇到了 IOS 上键盘收起时界面无法归位的问题。下面详细描述下问题和症状:
页面结构
出问题的页面是一个表单结构。即类似于一个 div 下有4个 input 表单的结构,用于用户填写邮寄信息。类似:
<div>
...[2019/7/19]
iOS---------关于野指针定位总结
iOS野指针定位总结 原文链接:http: www.cnblogs.com/KiVen2015/p/11202055.html[2019/7/18]
iOS常用算法之两个有序数组合并, 要求时间复杂度为0(n)
思路: 常规思路: 先将一个数组作为合并后的数组, 然后遍历第二个数组的每项元素, 一一对比, 直到找到合适的, 就插入进去;
简单思路: 设置数组C, 对比A和B数组的首项元素, 找到最小的, 就放入数组C,依次进行下去.
代码如下:
- (NSArray ...[2019/7/18]