摘要:
一、基本使用方法 1. 安装 FMDB 使用 CocoaPods 安装 FMDB,可以在你的 Podfile 中添加以下内容: pod 'FMDB' 然后运行 pod install 命令。 2. 导入 FMDB 在需要使用的文件中导入 FMDB: #import <FMDB/FMDB.h> 二、基
阅读全文
posted @ 2018-05-30 15:30
Mr.陳
阅读(508)
推荐(0)
摘要:
我们知道遍历数组是一个相对耗时的操作,而同时手机的核是越来越多,所以我们需要充分利用iOS多核的作用. 特别是在遍历操作中还有其他耗时操作.像我们平时直接遍历数组的操作 for (NSInteger i= 0,i< 100,i++){ //do something } 这样的代码不会随着手机的不断升
阅读全文
posted @ 2017-07-12 16:06
Mr.陳
阅读(1157)
推荐(0)
摘要:
HTTP(超文本传输协议)定义了多种服务器交互方法,其中最常用的有四种:GET、POST、PUT、DELETE。这些方法涵盖了数据操作的基本需求,通常可以简化为增(PUT)、删(DELETE)、改(POST)、查(GET)。下面我们将详细介绍这些方法,并分析其应用场景和底层逻辑。 1. HTTP 方
阅读全文
posted @ 2017-05-12 11:30
Mr.陳
阅读(922)
推荐(0)
摘要:
前言 对于iOS开发中的网络请求模块,AFNet的使用应该是最熟悉不过了,但你是否把握了网络请求正确的完成时机?本篇文章涉及线程同步、线程依赖、线程组等专用名词的含义,若对上述名词认识模糊,可先进行查阅理解后阅读本文。如果你也纠结于文中所述问题,可进行阅读希望对你有所帮助。大神无视勿喷。 在真实开发
阅读全文
posted @ 2017-04-28 17:06
Mr.陳
阅读(624)
推荐(0)
摘要:
最近闲来无事去面试一下iOS开发,让我感到吃惊的,面试官竟然问怎么分目录结构,还具体问每个子目录的文件名。 目录结构确实非常重要,面试官这么问,无疑是想窥探开发经验。清晰的目录结构,可让人一眼明白相应的业务和职能,这也能体现开发者的经验和架构水平。 目前,我接触过的项目中,比较常规的两种结构:1.主
阅读全文
posted @ 2017-04-19 08:51
Mr.陳
阅读(1164)
推荐(0)
摘要:
前言 本篇主要介绍Runtime在开发中的一些使用场景,顺便讲解了下MJExtension的底层实现 一、runtime简介 RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。 对于C语言,函数的调用在编译的时候会决定调用哪个函数。 对于OC的函数,属
阅读全文
posted @ 2017-04-17 08:36
Mr.陳
阅读(520)
推荐(0)
摘要:
iOS开发 Xcode8中遇到的问题及改动 新版本发布总会有很多坑,也会有很多改动。 一个一个填吧。。。 一、遇到的问题 1、权限以及相关设置 iOS10系统下调用系统相册、相机功能,或者苹果健康都会遇到闪退的情况,调用系统相册报错描述如下: This app has crashed because
阅读全文
posted @ 2016-11-15 10:49
Mr.陳
阅读(527)
推荐(0)
摘要:
在开发iOS应用时,有时需要强制退出程序。然而,iOS平台并未提供供正常退出应用程序的官方API。 1. 使用UIAlertView 与 exit(0) 首先,我们来看一个使用UIAlertView提供退出应用选项的示例代码: UIAlertView* alert = [[UIAlertView a
阅读全文
posted @ 2016-10-20 10:18
Mr.陳
阅读(20049)
推荐(0)
摘要:
iOS 国际化 (Internationalization) 是指让你的应用程序能够支持多种语言和地区。通过国际化,你可以让应用程序根据用户的语言选择显示相应的文本、图像等资源。以下是实现 iOS 国际化(中文简体、中文繁体、英文)的详细步骤,以及一个用于简化该过程的工具类的封装。 实现步骤 1.
阅读全文
posted @ 2016-03-26 14:54
Mr.陳
阅读(2481)
推荐(0)
摘要:
在iOS开发中,一像素线(One Pixel Line)经常用于UI设计中分隔视图或者绘制边框。这些线在不同设备上的实现方式可能会有所不同,尤其是在高分辨率屏幕(如Retina屏幕)中。 方法一:使用UIView和Auto Layout 一种常见的方法是使用UIView并利用Auto Layout设
阅读全文
posted @ 2016-03-26 14:35
Mr.陳
阅读(910)
推荐(0)
摘要:
在iOS开发中,理解属性修饰符(例如assign、copy、retain、weak和strong),对编写高效、健壮的代码至关重要。 属性修饰符解析 1. assign assign适用于基础数据类型(例如NSInteger、CGFloat)和C数据类型(例如int、float、double)。它是
阅读全文
posted @ 2016-03-26 14:30
Mr.陳
阅读(331)
推荐(0)
摘要:
Block是iOS和macOS开发中最有用且高效的特性之一。它能捕获并存储周围的上下文,为简化回调和异步操作提供了强有力的支持。本篇文章将详细介绍Block,包括其结构、底层内存布局及相关的内存管理机制。 什么是Block? Block是一个封装了代码和数据容器的对象。它包含了代码逻辑,并且能够捕获
阅读全文
posted @ 2016-03-26 14:27
Mr.陳
阅读(4916)
推荐(1)
摘要:
swift与OC之间不得不知道的21点 自6月的WWDC大会上由苹果的大神Chris Lattner向我们首次展示swift至今已经大半年时间了,虽然绝大部分软件公司代码里还都见不到一丁点swift的影子,但各路大牛早已纷纷已经对swift进行过各种挖掘了。 我总结下我的看法。主要是给还没仔细研究s
阅读全文
posted @ 2016-03-23 22:28
Mr.陳
阅读(415)
推荐(0)
摘要:
在iOS开发中,性能优化是提升用户体验、提高应用响应速度和资源利用率的关键。本文将详细介绍从ARC到View控制在内的一系列优化技巧,帮助开发者在项目升级或开发中避免性能瓶颈。 1. 使用ARC管理内存 自动引用计数(Automatic Reference Counting, ARC)和iOS 5一
阅读全文
posted @ 2015-10-29 21:24
Mr.陳
阅读(2198)
推荐(0)
摘要:
在 iOS 开发中,Xcode 的重大版本升级通常会带来不少变化。本文探讨了开发者在从 Xcode 6 升级到 Xcode 7 后遇到的一些问题,主要聚焦于状态栏(StatusBar)的管理和配置,并提供详细的解决方案和背后的底层逻辑分析。 问题一:老项目在 Xcode 7 上崩溃 在 Xcode
阅读全文
posted @ 2015-10-29 03:29
Mr.陳
阅读(1529)
推荐(0)
摘要:
在 iOS 应用开发中,StatusBar(状态栏)是一个重要的 UI 组件。它显示在屏幕顶部,用于展示关键信息如时间、电池电量、网络状态等。本文将深入探讨 StatusBar 的各个方面,包括其基本概念、常见的操作和自定义方法以及其在不同 iOS 版本中的变化。 一、StatusBar 基本概念
阅读全文
posted @ 2015-10-29 01:25
Mr.陳
阅读(1644)
推荐(0)
摘要:
TCP(传输控制协议,Transmission Control Protocol)和UDP(用户数据报协议,User Datagram Protocol)是互联网中最常见的两种传输层协议,它们在计算机网络中扮演着重要的角色。下面是关于这两种协议的详细说明及对比。 TCP (Transmission
阅读全文
posted @ 2015-10-24 11:16
Mr.陳
阅读(811)
推荐(0)
摘要:
在开发 iOS 应用时,我们经常需要让不同的 controllers 之间进行通信,而不希望它们之间过于耦合。为此,我们通常会使用以下三种模式来实现通信: 委托(delegation) 通知中心(Notification Center) 键值观察(Key Value Observing, KVO)
阅读全文
posted @ 2015-10-24 11:02
Mr.陳
阅读(743)
推荐(0)
摘要:
转载: 平时APP中的广告位、或者滚动的新闻图片等用到的就是图片轮播这种效果,实现方式主要有两种,一种是ScrollView+ImageView,另一种则是通过CollectionView,今天总结的是ScrollView这种方式。 1.图片轮播效果实现 主要实现思路是:根据图片总数及宽高设置好Sc
阅读全文
posted @ 2015-10-20 12:39
Mr.陳
阅读(1290)
推荐(0)
摘要:
之前看到过的一篇文章 对collectionView的使用总结的非常好:“iOS6新特征:UICollectionView介绍” 流水布局在现在的应用中很常见了,简单的研究了下,实现下面的功能 那我这里就简单介绍下 UICollectionViewFlowLayout 常用的几个方法,通过这几个方法
阅读全文
posted @ 2015-10-16 22:14
Mr.陳
阅读(3844)
推荐(0)
摘要:
一、简介 在 iOS 应用开发中,搜索功能是一个不可或缺的组件。UISearchBar 控件提供了一种集成搜索功能的便捷方式。本文将详细介绍 UISearchBar 控件的相关属性和方法,并通过实例代码说明其使用方法。 二、UISearchBar 控件 UISearchBar 是专门为搜索功能设计的
阅读全文
posted @ 2015-10-16 00:52
Mr.陳
阅读(663)
推荐(1)
摘要:
一、iPad简介 1. 什么是 iPad iPad 是苹果公司于 2010 年发布的一款平板电脑。它的定位介于苹果的智能手机 iPhone 和笔记本电脑产品之间。与 iPhone 一样,iPad 也搭载了 iOS 操作系统(如今为 iPadOS)。 2. iPhone 和 iPad 的区别 虽然 i
阅读全文
posted @ 2015-10-12 19:47
Mr.陳
阅读(1540)
推荐(0)
摘要:
一、二维码的生成 从iOS7开始集成了二维码的生成和读取功能此前被广泛使用的zbarsdk目前不支持64位处理器 生成二维码的步骤:导入CoreImage框架通过滤镜CIFilter生成二维码 二维码的内容(传统的条形码只能放数字):纯文本名片URL // 1. 实例化二维码滤镜 CIFilter
阅读全文
posted @ 2015-10-12 19:43
Mr.陳
阅读(457)
推荐(0)
摘要:
一、远程音频播放(<AVFoundation/AVFoundation.h>) #import <AVFoundation/AVFoundation.h> /** 播放器 */ @property (nonatomic, strong) AVPlayer *player; #pragma mark
阅读全文
posted @ 2015-10-12 00:06
Mr.陳
阅读(1657)
推荐(0)
摘要:
一、简介 简单来说,音频可以分为2种音效又称“短音频”,通常在程序中的播放时长为1~2秒在应用程序中起到点缀效果,提升整体用户体验 音乐比如游戏中的“背景音乐”,一般播放时间较长 播放音频可以使用框架AVFoundation.framework 二、音效 1、音效的播放 // 1.获得音效文件的路径
阅读全文
posted @ 2015-10-10 09:52
Mr.陳
阅读(863)
推荐(0)
摘要:
一、简介 1、如何访问用户的通讯录1)在iOS9之前有2个框架可以访问用户的通讯录AddressBookUI.framework提供了联系人列表界面、联系人详情界面、添加联系人界面等一般用于选择联系人 AddressBook.framework纯C语言的API,仅仅是获得联系人数据没有提供UI界面展
阅读全文
posted @ 2015-10-09 01:12
Mr.陳
阅读(3658)
推荐(0)
摘要:
一、传感器 1、什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下面现象都是由传感器完成的在地图应用中, 能判断出手机头面向的方向一关灯, iPhone会自动调整屏幕
阅读全文
posted @ 2015-10-01 01:18
Mr.陳
阅读(8935)
推荐(0)
摘要:
一、内存分析 1、静态内存分析(Analyze)不运行程序,直接对代码进行内存分析,查看代码是否有内存泄露优点:分析速度快,并且可以对所有的代码进行内存分析缺点:分析结果不一定准确(没有运行程序,根据代码的上下文语法结构)注意:如果有提示有内存泄露,一定结合代码查看代码是否有问题 静态内存分析,潜在
阅读全文
posted @ 2015-09-30 12:01
Mr.陳
阅读(3603)
推荐(0)
摘要:
iOS 支付宝集成指南 支付宝作为第三方支付平台,广泛应用于各类移动应用程序中,提供了一种便捷的支付方式。本文将详细介绍如何在 iOS 应用中集成支付宝,以及集成过程中需要注意的事项和底层逻辑分析。 一、什么是支付宝? 支付宝是一个第三方支付平台,类似于应用内购(IAP)。不同的是: 内购:用户将钱
阅读全文
posted @ 2015-09-29 20:15
Mr.陳
阅读(2818)
推荐(0)
摘要:
一、iOS 换肤功能 1. 换肤功能的思路 实现换肤功能的几点思路: 解决方案1:基于颜色的图片命名规范 问题1:每套图片的文件名必须遵循“颜色+名称.png”格式。 问题2:如果将某一图片应用到其他皮肤时会比较麻烦。 解决方案2:利用 Bundle 不同皮肤的图片文件保存在不同的 Bundle 中
阅读全文
posted @ 2015-09-28 19:58
Mr.陳
阅读(1259)
推荐(0)
摘要:
一、UIDynamic 1、简介什么是UIDynamicUIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象重力、弹性碰撞等现象 物理引擎的价值广泛用于游戏开发,经典成功案例是“愤怒的小鸟”让开发人员可以在远离物理学公式的
阅读全文
posted @ 2015-09-25 01:55
Mr.陳
阅读(1785)
推荐(0)
摘要:
在现代应用中,用户体验是我们关注的重点之一,为了提升用户的使用体验,我们可以在状态栏添加一个看不见(透明)的 UIWindow 并附加一个按钮,实现点击按钮时快速滚动到当前界面的顶部。这篇文章将详细介绍如何利用 UIWindow 实现该功能,并封装成一个工具类供外部使用。 一、UIWindow 的基
阅读全文
posted @ 2015-09-25 01:14
Mr.陳
阅读(1100)
推荐(0)
摘要:
一、简介 在移动互联网时代,移动应用可以解决用户的许多生活琐事,如找到附近的餐馆、KTV、电影院等,或者导航到指定的目的地。这些应用离不开定位和地图功能。在 iOS 开发中,定位和地图功能的实现基于两个核心框架: CoreLocation:用于地理定位、地理编码、区域监听等(注重功能实现)。 Map
阅读全文
posted @ 2015-09-25 01:08
Mr.陳
阅读(605)
推荐(0)
摘要:
一、简介 移动互联网已经深刻改变了用户的生活方式,移动应用可以解决用户生活中的许多琐事。例如,我们可以通过应用来寻找周边的餐馆、KTV和电影院;导航功能可以根据用户设定的起点和终点,规划出合理的路线并指导用户如何到达目的地。这些应用都离不开定位和地图功能。 在 iOS 开发中,涉及到上述功能时必须基
阅读全文
posted @ 2015-09-24 22:00
Mr.陳
阅读(2397)
推荐(1)
摘要:
本文会详细介绍如何从头开始使用 Git 管理一个完整的项目,包括初始化仓库、设置远程仓库、日常操作以及一些高级操作。通过具体的操作步骤,快速掌握 Git 的使用方法。 前置条件 已安装 Git。 已有 GitHub、GitLab 或其他远程仓库平台的账号。 一、初始化项目及 Git 仓库 1. 创建
阅读全文
posted @ 2015-09-10 16:32
Mr.陳
阅读(428)
推荐(0)
摘要:
基础 什么是 Git?它与其他版本控制工具有何不同? Git 是分布式版本控制系统,与 SVN 等集中式版本控制系统相比,Git 允许每个开发者拥有完整的代码库副本,可以离线工作。 如何初始化一个新的 Git 仓库? 可以使用命令 git init 来初始化一个新的 Git 仓库。 如何克隆一个现有
阅读全文
posted @ 2015-09-08 15:30
Mr.陳
阅读(1768)
推荐(0)
摘要:
一、Git 简介 什么是 Git? Git 是一款开源的分布式版本控制工具,以速度、简单和流行性著称。在分布式版本控制工具中,Git 是最快、最简单、最流行的选择。 Git 的起源 作者是 Linux 之父——Linus Benedict Torvalds。Git 最初是为了辅助 Linux 内核的
阅读全文
posted @ 2015-08-30 15:50
Mr.陳
阅读(690)
推荐(0)
摘要:
1. 源代码管理工具概述 源代码管理工具的作用 源代码管理工具是软件开发过程中不可或缺的组件,具有以下几个重要作用: 版本追踪:能追踪一个项目从诞生到定案的全过程。 变更记录:记录项目所有内容的变化,方便以后查阅和审计。 协作开发:在团队开发中,确保每个成员的更改都能被追踪和管理,避免代码冲突。 使
阅读全文
posted @ 2015-08-30 15:02
Mr.陳
阅读(282)
推荐(0)
摘要:
Subversion(SVN)是一种流行的版本控制系统,广泛用于版本管理、代码管理和团队协作。 1. 将文件 Checkout 到本地目录 命令: svn checkout path # 简写:svn co 示例: svn checkout svn://192.168.1.1/pro/domain
阅读全文
posted @ 2015-08-29 09:16
Mr.陳
阅读(283)
推荐(0)
摘要:
在iOS开发中,键盘管理是文本输入的重要组成部分。UIKit框架提供了丰富的键盘配置选项,包括键盘类型、外观、回车键、自动大写、自动更正和安全文本输入等。 一、键盘类型 iOS提供了多种键盘类型,以满足不同的输入需求。这些类型通过UIKeyboardType枚举定义,包括默认键盘、ASCII键盘、数
阅读全文
posted @ 2015-08-28 14:20
Mr.陳
阅读(1777)
推荐(0)