7 MegaRich

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 52w+

如何精确计算文本所占的行数

如何精确计算文本所占的行数在 iOS 开发过程中,需要计算一段文字所占的行数,试了几种方式都很难准确计算。通过coreText 框架,去精确计算一段文本所占的行数。- (NSArray *)getLinesArrayOfStringInLabel:(NSString *)string font:(UIFont *)font andLableWidth:(CGFloat)lableW...

2020-06-23 12:34:00

Waiting for another flutter command to release the startup lock...

遇到这个问题,随手百度一下大概率会得到以下答案:进入到flutter sdk目录中,然后找到bin/cache/lockfile文件,删除它即可。删除之后再运行flutter packages get就已经解决了。根据提示的字面意思,猜测是Dart 进程开启的过多,其中有Dart 进程未释放 startup lock资源。此时只需要打开任务管理器或者 Mac的活动监视器,搜索 dart,关闭所有dart进程即可。并不需要删除任何文件。发自 CNBlog ...

2020-06-18 10:16:02

iOS 支付宝支付 微信支付SDK接口不统一? 盘他!

  开发过支付宝、微信支付的同学都知道,微信的支付 API 设计感觉是 Java 开发工程师写的,远不如支付宝 SDK 的接口设计用起来顺手。在这里,统一封装微信支付和支付宝支付的API,使两种支付方式对外提供一致的调用接口。   首先我们来看支付宝支付SDK的API是怎么设计的:/** * 支付接口 * * @param orderStr 支付订单信息字串 * @...

2019-10-10 19:41:08

支付宝支付 微信支付SDK接口不统一? 盘他!

  开发过支付宝、微信支付的同学都知道,微信的支付 API 设计感觉是 Java 开发工程师写的,远不如支付宝 SDK 的接口设计用起来顺手。在这里,统一封装微信支付和支付宝支付的API,使两种支付方式对外提供一致的调用接口。   首先我们来看支付宝支付SDK的API是怎么设计的:/** * 支付接口 * * @param orderStr 支付订单信息字串...

2019-10-10 19:40:00

How do I fix "selector not recognized" runtime exception

Q: How do I fix “selector not recognized” runtime exceptions when trying to use category methods from a static library?如何解决 在 runtime 环境中尝试调用静态库中分类的方法时,报 “selector not recognized” 异常?  今天在浏览 YYKi...

2019-09-25 17:09:22

Building Objective-C static libraries with categories

Q: How do I fix "selector not recognized" runtime exceptions when trying to use category methods from a static library?如何解决 在 runtime 环境中尝试调用静态库中分类的方法时,报 "selector not recognized" 异常?  今天在浏览 ...

2019-09-25 17:05:00

iOS 工程由shell脚本配置一套代码生成多个APP

  APP开发过程中,往往需要在多个网络环境或配置中进行切换,以获取不同配置的APP,甚至有时需要用一套代码经过简单的配置生成不同的APP。而手动配置费时费力,且容易出错。这里介绍用脚本工具,去生成不同配置的APP工程。1. 需求分析在配置工程中我们需要事先知道有哪些配置项:   1. APP 启动图、图标等资源文件。   2. APP...

2019-09-23 10:19:34

电商 APP 下单页(俗称车2) 业务流程概要设计

电商 APP 下单页(俗称车2) 业务流程概要设计 购物车是电商APP的一个关键功能点,一般购物车包含 3 个页面,分别是:1.购物车的商品列表页2.商品下单页3.订单付款页面4.订单付款成功页面由于现有购物车逻辑相对混乱,这里重新整理一下商品下单页的业务流程设计1.生成订单这里在业务层面把订单的生命周期划分为4个阶段,分别是:...

2019-03-27 10:15:00

创建 个人 pod

创建 个人 pod 创建一个自己的 pod 大致需要以下步骤创建git repository编辑.podspec创建LICENSE(许可证/授权)文件标记 tag验证注册CocoaPods发布搜索验证1.代码提交到github平台在 git 平台创建自己的 repository,例如 ‘AGNetworking’...

2019-03-22 11:43:00

iOS 数据安全、数据加密传输

iOS 数据安全、数据加密传输 近期接到一个新需求:APP企业版需要接入热更新功能。热更新需要下发补丁脚本, 脚本下发过程中需要保证脚本传输安全,且需要避免中间人攻击。需要用到数据加密传输方面的知识,以下是我设计的加密解密流程:  0. 将脚本 base64 编码,得到编码后的文本 encodedScript;   1. 将 encodedScript 使用...

2019-02-20 16:23:00

GCD 多线程技术

GCD 多线程技术  Grand Central Dispatch(GCD)是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想执行的任务并追加到适当的Dispatch Queue中,DCD就能生成必要的线程并计划执行任务。由于线程管理是作为系统的一部分来实现的,因此可以统一管理,也可以执行任务,这样就比以前的线程...

2018-09-17 18:02:00

获取 iOS APP 内存占用的大小

获取 iOS APP 内存占用的大小 当我们想去获取 iOS 应用的占用内存时,通常我们能找到的方法是这样的,用 resident_size: #import <mach/mach.h>- (int64_t)memoryUsage { int64_t memoryUsageInByte = 0; struct task_basi...

2018-09-17 14:26:00

使用 runtime 实现字符串转方法,并传递参数

使用 runtime 实现字符串转方法,并传递参数 利用runtime的动态机制实现字符串转方法并传递参数使用 SEL 关键字引用方法声明,使用 methodForSelector 寻找方法实现,使用函数指针调用方法。 1 - (void)actionResponse:(NSString *)action withObject:(id)argument {...

2018-09-17 13:51:00

OC字符串处理

OC字符串处理 接到一个需求, 现有多个品牌的商品,使用字符串保存已选中的品牌,使用','隔开,可以反选。 分析问题可知:1. 字符串由多个品牌名字组成,由 ',' 隔开。2.如果选中的品牌不在字符串内,则拼接到字符串。3.如果选中的品牌在字符串内,移除这个品牌。子字符串在字符串内的位置有 3 种情况:在1.头部 2.在内部 3.在尾部,如果子字符 在...

2018-09-17 13:43:00

用 map 表达互斥逻辑

用 map 表达互斥逻辑 在这个开发周期遇到这样一个需求:管理员可以给子账号配置权限,有些权限存在互斥不可同时勾选,比如审核员和代采、审核和采购员不可同时勾选 之前同事实现的方式如下:这样每添加一个互斥关系就要遍历一次,低效且代码繁琐。 // 审核员和代采、审核和采购员不可同时勾选 if ([tag isEqualToString:@"审核...

2018-09-17 13:10:00

iOS之LLDB调试器

iOS之LLDB调试器 LLDB被定位为下一代的高性能调试器,默认内置于Xcode IDE内,支持在PC、iOS设备以及模拟器上调试C、Objective-C和C++。关于LLDB的官方介绍:LLDB常用命令:1. po 打印对象的 description 信息, 或者直接在调试窗口打印一个基本类型变量的值 2. expr  是expression的简...

2018-09-17 12:57:00

iOS 线程安全

iOS 线程安全 简介:  操作系统在进行多线程调度的时候,为了保证多线程安全引入了锁的机制,以实现指定代码或资源在某时间内只可以被有限个线程访问。这里主要介绍iOS开发中,使用Objective-C开发所用到的几种锁的用法。 1      iOS开发中常用的几种锁1.1       OSSpinLock 自旋锁1.2       pthread_mute...

2018-03-01 11:55:00

OC实现 单向链表

OC实现 单向链表 需要实现一个消息队列,队列具有 FIFO 特点,即先入先出,在这里采用单向链表实现队列逻辑。本次要实现的队列要求:1. 节点可以存放任意类型数据2. 线程安全 简单说明一下:1. 创建CFNode类,用作节点,其data属性和next属性都是 atomic,即只能单线程访问属性。2. 创建CFList类,用以push节点和pop节点...

2018-02-27 14:26:00

iOS读取info.plist中的值

iOS读取info.plist中的值 在app运行的时候,需要读取info.plist中的信息,用以下代码可获取整个info.plist的信息[[NSBundle mainBundle] infoDictionary]以下为根据 key 值去取 URLTypes 里面对应的值:+ (NSString *)URLSchemesForkey:(NSStrin...

2018-01-26 16:43:00

SQLite 如何取出特定部分数据

SQLite 如何取出特定部分数据 如果我要取11-20的Students表的数据,则为: Select * From Students  Limit 9 Offset 10;表示从Students  表获取数据,跳过10行,取9行 。也可以这样写 select * from Students limit 10,9 和上面的的效果一样。 通用公试:  sql =...

2016-06-16 17:45:00

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。