iOS面试必备
发表于|更新于
|浏览量:
备忘
- 内存管理
- 推送原理
- viewController的生命周期,app的生命周期
- 事件响应链与传递链
- 数据库语句、CoreData
- 多线程
- Runtime
- Runloop
- 动画
- git、SVN
- 自动布局的实现,Masonry
- ReactiveCocoa
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2022-01-06
Swift后缀表达式(逆波兰式)转换计算
Swift后缀表达式(逆波兰式)转换计算背景最近在开发《挑战24点》的过程中遇到了一个问题,即,如何计算常用数学表达式的结果,即,给定字符串8 - (6 + 4 / 2 - 1) * 2,怎么计算得到结果,并且得到计算的过程。 网上查资料发现,大部分都是类似系统计算器的处理,在遇到第二个运算符时,就把前一步的操作结果计算出来。这样的处理方式并不适用于笔者想要解决的问题。 进一步搜索后发现,前缀表达式、中缀表达式、后缀表达式的概念,给定的字符串8 - (6 + 4 / 2 - 1) * 2属于中缀表达式,而想要计算机得出结果,可以转为前缀表达式或者后缀表达式,然后再对转换后的表达式进行计算。 这里采用中缀表达式转后缀表达式,然后计算后缀表达式得出结果,步骤如下。 Swift 中缀表达式转后缀表达式什么是中缀表达式、后缀表达式?首先理解中缀表达式和后缀表达式分别是什么? 中缀表达式: 是常用的算术表示方法,操作符处于操作数的中间,比如 (a + b),即中缀形式,故而称之为中缀表达式。 后缀表达式: 运算符写在操作数之后,比如 (a, b, +),称之为后缀表达式,又名...
2021-06-30
iOS StatusBar 设置
iOS StatusBar 设置背景最近遇到设置StatusBar的问题,在NavigationController出来的界面设置StatusBar后一直不生效,印象中遇到过此类的问题,但是没有记录总结,还是花费了一点时间来找到原因,所以赶紧记录一下。 全局设置StatusBar的全局设置,需要首先在info.plist中设置View controller-based status bar appearance为NO,关掉按界面设置status bar 显示。 显示/隐藏方法一:在Target下的Deployment Info中不勾选/勾选Hide status bar 方法二:代码设置 1[UIApplication sharedApplication].statusBarHidden = YES; 设置方法一:在Target下的Deployment Info中设置Status Bar Style 方法二:代码设置 1[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightCon...
2024-03-16
Pod 私有库相互引用
私有库的相互引用文章是转载自OC和Swift混合开发(Pod私有库的相互引用),在这里记录一下,方便以后查看。 概述:该文档主要介绍OC和Swift混合开发相互调用,包括3大类情况和12种具体情形。 三大类情况: 主工程内的混合互调, 主工程和Pod三方库之间的混合互调, Pod三方库和其他Pod三方库之间的混合互调。 十二种情形: 主工程内的OC 调用 主工程内的OC:#import “NSObject.h” 导入头文件直接调用。 主工程内的OC 调用 主工程内的Swift: 1. 主工程中创建.pch文件,在TARGETS -> Build Setting -> 搜索pch -> 设置.pch文件的路径, 2. 在.pch文件中添加 : 例如:#import “xxxxx_Swift.h” (该文件命名规则为:”工程名_Swift.h”,该文件为系统自动生成) , 3. 编译之后才可自动识别需要调用的Swift的文件 。 主工程内的OC 调用 OC的Pod三方库: #import ...
2015-12-30
实现Button文字(titleLabel)和图片(imageView)上下排列
实现Button文字(titleLabel)和图片(imageView)上下排列 1、我最开始实现这个采用的方法:重新自定义一个view,然后有两个属性label和imageView,然后设置位置布局,再添加单击手势,用代理回传点击方法。 2、第二种方法:自定义一个Button继承Button,有两个属性label和imageView,然后设置布局。这样就不用添加单击手势。 3、第三种方法:直接用Button自带的titleLabel和imageView,写个Category,用来设置label和image的排列方式,eg:上下、左右 明显前两种是很不好的,所以这里只说第三种: Button有两个属性:titleEdgeInsets和imageEdgeInsets,通过设置这两个,就可以实现所有需要的Button的样式,如:image在上、image在下、image在左、image在右。 在设置这两个之前,我们先要理解Button上面的titleLabel和imageView的位置关系(想象Button默认的image和label的显示): titleEdg...
2021-05-06
iOS APP添加桌面快捷方式
iOS APP添加桌面快捷方式背景新接到一个需求,需要APP内的某些功能,能够把入口添加到桌面,点击桌面到入口可以直接跳转APP对应界面(类似于下面这张示例图),于是就做了一番调研。 其实很多APP目前都已经实现了类似的功能,比如支付宝、云闪付等等,其中的每一个独立功能都可以单独添加到桌面,所以网上有很多实现的方法,笔者做的是整理和试错。 实现首先,添加到桌面功能的操作流程是: 客户端打开APP -> 进入到对应到APP功能模块 -> 点击添加快捷方式到桌面按钮 -> 跳转浏览器,并加载引导页面,点击分享,选择添加到主屏幕 -> 从主屏幕点击刚刚添加到快捷功能,跳转到APP的对应界面。 根据笔者了解到的信息,目前实现这种功能,大致可以分为两种实现方式: 方法一:H5提供网页,每个不同的功能提供不同的网页,服务端返回这些网页的URL,客户端配置打开URL Scheme,然后使用Safari直接加载URL,加载的网页中根据进入方式的不同,自动重定向打开APP的URL Scheme。 方法二:H5提供通用的网页,客户端替换通用网页中的内容,比如...
2022-08-20
iOS输入框字符限制
背景小知识点记录,textField的markedTextRange的使用,如果你已经知道了,就不需要再看了。 iOS输入框字符限制,不同实现方式的对比: 方法1,通过监听textField的UIControl.Event.editingChanged,在对应的方法里做长度拦截判断 方法2,通过textField的代理方法,textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool判断。 对比假设产品要求这个输入框限制输入6个字,怎么判断?下面来看下 方法1声明一个自定义的MWCustomTF,然后监听editingChanged事件,在事件里判断输入字符是否超出最大输入长度,代码如下: 123456789101112131415161718192021222324252627282930313233343536class MWCustomTF: UITextField { ...
公告
This is my Blog