iOS面试必备
发表于|更新于
|浏览量:
备忘
- 内存管理
- 推送原理
- viewController的生命周期,app的生命周期
- 事件响应链与传递链
- 数据库语句、CoreData
- 多线程
- Runtime
- Runloop
- 动画
- git、SVN
- 自动布局的实现,Masonry
- ReactiveCocoa
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2022-03-29
更新:SDWebImage 添加 token
背景网上搜到的关于SDWebImage 添加 token,亦或者 SDWebImage add header的方法,都是直接使用SDWebImageDownloader中的setValue:forHTTPHeaderField:方法来设置。但是设置了之后笔者这边图片还是出不来,仔细研究后发现笔者这边的图片显示是先经过一次302跳转,然后跳转后才是真正的图片链接,第二次的这个链接是需要 token 的。 而直接设置SDWebImageDownloader的HTTPHeaderField设置到了第一个链接上面,302重定向后第二个链接的HTTPHeaderField仍是没有 token 解决方法一般来说,直接使用SDWebImageDownloader中的setValue:forHTTPHeaderField:方法设置即可。如下: 12345678- (void)addSDWebImageToken { SDWebImageDownloader *downloader = [SDWebImageDownloader sharedDownloader]; NS...
2018-12-11
在Swift中使用error来控制流程
此文是翻译原文链接:Using errors as control flow in Swift app和项目里管理控制流会对代码的执行速度,代码的调试复杂度有重大的影响。代码的控制流本质上是函数和声明的执行顺序,及代码执行路径。 尽管Swift提供了很多工具定义控制流——例如if, else, while 及 optional;这周,我们来看一下,如何通过Swift编译时错误来抛出和处理model,来让控制流程更容易管理。 抛出可空的值可选值,作为Swift的重要特征,处理空的数据时可被合法的忽略;它也经常被用作给定函数的来源样板在控制流程中。 下面,重写了从app中bundle加载、调整图片的方法。由于每一步操作都返回了可空的图片,不得不写多个guard语句,告诉函数哪里可以退出: 12345678910111213func loadImage(named name: String, tintedWith color: UIColor, resizedTo size: CGSize) -> UIIma...
2021-08-18
Flutter布局基础——BottomNavigationBar
Flutter布局基础——BottomNavigationBar背景Flutter中BottomNavigationBar类似于 iOS 中的UITabbarController,是导航控制器的一种,常用于首页 Tab 切换。 BottomNavigationBar的 type 属性,默认值会根据items的个数而定;当items个数小于4个时,默认值为BottomNavigationBarType.fixed;当items个数大于等于4个,默认值为BottomNavigationBarType.shifting。 两种效果对比如下:左侧为BottomNavigationBarType.fixed,右侧为BottomNavigationBarType.shifting 常用属性如下: backgroundColor: 背景色 currentIndex: 当前选中哪一个 fixedColor: 选中 Item 的颜色 iconSize: 图片大小 items: 子元素 onTap: 点击事件 selectedFontSize: 选中字体大小 select...
2025-09-12
关于开发鸿蒙APP的建议
背景 实现参考
2022-12-12
iOS界面黑白实现
背景iOS APP界面黑白效果实现调研整理,总的来说网上目前有下面几种方法: 针对H5网页:注入js代码 针对APP原生界面: 针对图片和颜色单独设置 hook UIImageView的setImage方法,添加UIImage的Category,生成灰色图片 hook UIColor的colorWithRed:green:blue:alpha:方法 针对界面整体处理 创建一个灰色view,设置不响应事件,然后添加在window最上层 给App整体添加灰色滤镜 具体如下: 实现针对网页:针对网页的处理: 如果有基类,可以直接在基类初始化WKWebview的地方,添加如下代码: 123456WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];// js脚本NSString *jScript = @"var filter = '-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%); -ms-fi...
2021-05-12
iOS mach-o文件分析多余的类和方法
mach-o文件分析多余的类和方法.md背景最近做包大小优化,在做项目代码优化时,其中有一个过程是分析Mach-O文件,看网上很多文章都说通过otool分析Mach-O,获取__objc_classrefs、__objc_classlist等,然后找出无用类和无用方法。 比如:无用类通过 otool 逆向Mach-O文件 __DATA.__objc_classlist段和__DATA.__objc_classrefs 段获取所有 OC 类和被引用的类,两个集合差值为无用类集合,结合 nm -nm 得到地址和对应类名符号化无用类类名来自干货!京东商城iOS App瘦身实践 又或者结合LinkMap文件的__TEXT.__text,通过正则表达式([+|-][.+\s(.+)]),我们可以提取当前可执行文件里所有objc类方法和实例方法(SelectorsAll)。再使用otool命令otool -v -s __DATA __objc_selrefs逆向__DATA.__objc_selrefs段,提取可执行文件里引用到的方法名(UsedSelectorsAll),我们可以大致分...