做你喜欢做的事情,任何时候都不会太迟

0%

每一位 iOS 和 macOS 开发者都是幸运的,因为苹果的 Xcode 和 LLDB 调试工具,这是每一位开发者应该使用的调试神器,可以帮助我们更快地解决问题。接下来主要讲解 Xcode 的 断点调试LLDB 调试器 以及 视图结构调试(UI Hierarchy)的使用技巧,这些技巧将大幅减少调试中重新编译的次数,减少你的等待时间。这些技巧使用起来非常简单,而且在开发场景非常实用,大家都有必要掌握这些技巧。

WWDC 2018 Session 412 : Advanced Debugging with Xcode and LLDB

阅读全文 »

对于苹果开发者而言,LLDB 是无人不知的调试工具,然而此知非彼知,相信有相当规模的开发者对 LLDB 的了解仍然停留于几个基础命令的使用,今天让我们来重新认识一下既熟悉又陌生的 LLDB,看看它那些你不曾用过的强大功能,以及如何提高我们的开发效率。

阅读全文 »

RunLoop 介绍

运行循环,在程序运行过程中循环做一些事情,如果没有 Runloop 程序执行完毕就会立即退出,如果有Runloop程序会一直运行,并且时时刻刻在等待用户的输入操作。RunLoop 可以在需要的时候自己跑起来运行,在没有操作的时候就停下来休息。充分节省 CPU 资源,提高程序性能。

阅读全文 »

在一些金融类的 App 中,对于表示金额类的字符串,通常需要进行格式化后再显示出来。例如:

  • 0 –> 0.00
  • 123 –> 123.00
  • 123.456 –> 123.46
  • 102000 –> 102,000.00
  • 10204500 –> 10,204,500.00

它的规则如下:

个位数起每隔三位数字添加一个逗号,同时保留两位小数,也称为“千分位格式”。

苹果提供了 NSNumberFormatter 用来处理 NSStringNSNumber 之间的转化,可以满足基本的数字形式的格式化。我们通过设置 NSNumberFormatternumberStylepositiveFormat 属性,即可实现上述功能,非常简洁,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
- (NSString *)formatDecimalNumber:(NSString *)string {
if (!string || string.length == 0) {
return string;
}

NSNumber *number = @([string doubleValue]);
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = kCFNumberFormatterDecimalStyle;
formatter.positiveFormat = @"###,##0.00";

NSString *amountString = [formatter stringFromNumber:number];
return amountString;
}

关于 NSNumberFormatter 更详细的用法,可以参考这篇文章的介绍:NSNumberFormatter 介绍和用法

一、KVO 的基本使用

首先我们来看一下 KVO 的基本使用,KVO 的全称 Key-Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变。

阅读全文 »

二分查找是一种算法,其输入是一个有序的元素列表(必须有序的原因稍后解释)。如果要查找的元素包含在列表中,二分查找返回其位置;否则返回null 。

阅读全文 »

一、CocoaPods介绍

  • CocoaPods 是 iOS 开发中的第三方库管理的工具。目的是让我们能自动化的、集中的、直观的管理第三方开源库。
  • CocoaPods 能够自动解决库与库之间的依赖关系,下载库的源代码。并创建一个 Xcode 的 workspace 来将这些第三方库和我们的工程连接起来,供我们开发使用。
    阅读全文 »