合集-iOS进阶
摘要:在iOS开发中,一像素线(One Pixel Line)经常用于UI设计中分隔视图或者绘制边框。这些线在不同设备上的实现方式可能会有所不同,尤其是在高分辨率屏幕(如Retina屏幕)中。 方法一:使用UIView和Auto Layout 一种常见的方法是使用UIView并利用Auto Layout设
阅读全文
摘要:iOS 国际化 (Internationalization) 是指让你的应用程序能够支持多种语言和地区。通过国际化,你可以让应用程序根据用户的语言选择显示相应的文本、图像等资源。以下是实现 iOS 国际化(中文简体、中文繁体、英文)的详细步骤,以及一个用于简化该过程的工具类的封装。 实现步骤 1.
阅读全文
摘要:最近闲来无事去面试一下iOS开发,让我感到吃惊的,面试官竟然问怎么分目录结构,还具体问每个子目录的文件名。 目录结构确实非常重要,面试官这么问,无疑是想窥探开发经验。清晰的目录结构,可让人一眼明白相应的业务和职能,这也能体现开发者的经验和架构水平。 目前,我接触过的项目中,比较常规的两种结构:1.主
阅读全文
摘要:前言 本篇主要介绍Runtime在开发中的一些使用场景,顺便讲解了下MJExtension的底层实现 一、runtime简介 RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。 对于C语言,函数的调用在编译的时候会决定调用哪个函数。 对于OC的函数,属
阅读全文
摘要:iOS开发 Xcode8中遇到的问题及改动 新版本发布总会有很多坑,也会有很多改动。 一个一个填吧。。。 一、遇到的问题 1、权限以及相关设置 iOS10系统下调用系统相册、相机功能,或者苹果健康都会遇到闪退的情况,调用系统相册报错描述如下: This app has crashed because
阅读全文
摘要:在开发iOS应用时,有时需要强制退出程序。然而,iOS平台并未提供供正常退出应用程序的官方API。 1. 使用UIAlertView 与 exit(0) 首先,我们来看一个使用UIAlertView提供退出应用选项的示例代码: UIAlertView* alert = [[UIAlertView a
阅读全文
摘要:一、非对称加密 - RSA : + 公钥加密,私钥解密; + 私钥加密,公钥解密; + 只能通过因式分解来破解 二、对称加密 - DES - 3DES - AES (高级密码标准,美国国家安全局使用,iOS操作系统内部使用,目前还没有发现过被破解的案例) 三、哈希散列函数 (摘要算法) 1、常见算法
阅读全文
摘要:一、什么是runLoop 1、说白了,runloop就是运行循环 2、runloop,他是多线程的法宝 通常来讲,一个线程一次只能执行一个任务,执行完之后就退出线程。但是,对于主线程是不能退出的,因此我们需要让主线程即使任务执行完毕,也可以继续等待接收事件而不退出,那么runloop就可以做到。 但
阅读全文
摘要:一个简单的绘图应用,模仿苹果自带软件备忘录里的涂鸦功能 核心代码 #import "DrawView.h" #import "DrawPath.h" @interface DrawView () @property (nonatomic, strong) NSMutableArray *paths;
阅读全文
摘要:实现一个简单的抽屉效果: 核心思想:KVO实现监听mainV的frame值的变化 核心代码: #import "ViewController.h" // @"frame" #define XMGkeyPath(objc, keyPath) @(((void)objc.keyPath, #keyPat
阅读全文
摘要:一、基本使用方法 1. 安装 FMDB 使用 CocoaPods 安装 FMDB,可以在你的 Podfile 中添加以下内容: pod 'FMDB' 然后运行 pod install 命令。 2. 导入 FMDB 在需要使用的文件中导入 FMDB: #import <FMDB/FMDB.h> 二、基
阅读全文
摘要:我们知道遍历数组是一个相对耗时的操作,而同时手机的核是越来越多,所以我们需要充分利用iOS多核的作用. 特别是在遍历操作中还有其他耗时操作.像我们平时直接遍历数组的操作 for (NSInteger i= 0,i< 100,i++){ //do something } 这样的代码不会随着手机的不断升
阅读全文
摘要:HTTP(超文本传输协议)定义了多种服务器交互方法,其中最常用的有四种:GET、POST、PUT、DELETE。这些方法涵盖了数据操作的基本需求,通常可以简化为增(PUT)、删(DELETE)、改(POST)、查(GET)。下面我们将详细介绍这些方法,并分析其应用场景和底层逻辑。 1. HTTP 方
阅读全文
摘要:前言 对于iOS开发中的网络请求模块,AFNet的使用应该是最熟悉不过了,但你是否把握了网络请求正确的完成时机?本篇文章涉及线程同步、线程依赖、线程组等专用名词的含义,若对上述名词认识模糊,可先进行查阅理解后阅读本文。如果你也纠结于文中所述问题,可进行阅读希望对你有所帮助。大神无视勿喷。 在真实开发
阅读全文
摘要:Instruments 是苹果公司提供的一款强大的分析和性能调试工具,集成在 Xcode 开发环境中。Instruments 可帮助开发者分析和优化 iOS、macOS 应用,检测性能瓶颈、内存泄漏、CPU 使用率、磁盘 I/O 等问题,从而提升应用的效率和用户体验。 以下详细介绍 Instrume
阅读全文
摘要:Xcode 提供了一整套工具和功能来帮助开发者收集、分析和处理应用崩溃报告。通过这些工具,开发者可以追踪和解析崩溃日志,以更加准确和及时地修复问题。以下是详细介绍 Xcode 工具收集崩溃报告的各种方法。 一、通过设备获取崩溃报告 1. 连接设备 将 iOS 设备通过 USB 连接到您的 Mac,并
阅读全文
摘要:正向代理和反向代理是计算机网络中两种重要的技术,它们在网络请求的传递和管理上扮演着不同的角色。下面将详细介绍这两者的概念、优缺点,并探讨它们在iOS开发中的应用。 一、正向代理 1. 概念 正向代理是一种代理服务器,客户端向代理服务器发送请求,由代理服务器转发请求到目标服务器,并将响应返回给客户端。
阅读全文
摘要:iOS提供了多种方式来实现应用之间的相互跳转。其中,URL Schemes和Universal Links是两种主要的方法。下面详细介绍这两种方法,并提供相应的示例代码,同时对它们的优缺点进行分析。 一、URL Schemes 1. 什么是URL Schemes URL Schemes是一种基于UR
阅读全文
摘要:iOS系统在后台执行程序时,有严格的限制,为了更好地管理资源和电池寿命,iOS会限制应用程序在后台的运行时间。然而,iOS提供了一些特定的策略和技术,使得应用程序可以在特定场景下保持后台运行(即“后台保活”)。以下是iOS中几种常见的后台保活方案,并附上示例代码: 一、后台任务 利用beginBac
阅读全文
摘要:在iOS开发中,使用FaceID和TouchID可以为用户提供安全的生物识别认证,而手势识别(Gesture Recognition)可以增加用户交互的便利性和灵活性。下面将详细介绍这三种技术,并给出如何封装一个统一的工具类来供外部使用。 一、FaceID与TouchID 1. 设置与配置 在使用F
阅读全文