汉字拼音排序方法

{% github it-boyer sortChinese 2deab8b width = 30% %}

方法一

实现模型对象排序,当万条数据时,出现卡顿问题。

方法二

实现字符串数组的排序,暂时没有验证大量排序情况,尝试优化第一种方法的排序卡顿问题。

Git工具交互式暂存

交互式暂存

Git 自带的一些脚本可以使在命令行下工作更容易。 本节的几个互交命令可以帮助你将文件的特定部分组合成提交。 当你修改一组文件后,希望这些改动能放到若干提交而不是混杂在一起成为一个提交时,这几个工具会非常有用。 通过这种方式,可以确保提交是逻辑上独立的变更集,同时也会使其他开发者在与你工作时很容易地审核。 如果运行 git add 时使用 -i 或者 –interactive 选项,Git 将会进入一个交互式终端模式,显示类似下面的东西:

Otherlinkerflags设置ld命令执行的参数

Other linker flags设置的值实际上就是ld命令执行时后面所加的参数。

3个常用参数: -ObjC:加了这个参数后,链接器就会把静态库中所有的Objective-C类和分类都加载到最后的可执行文件中 -all_load:会让链接器把所有找到的目标文件都加载到可执行文件中,但是千万不要随便使用这个参数!假如你使用了不止一个静态库文件,然后又使用了这个参数,那么你很有可能会遇到ld: duplicate symbol错误,因为不同的库文件里面可能会有相同的目标文件,所以建议在遇到-ObjC失效的情况下使用-force_load参数。 -force_load:所做的事情跟-all_load其实是一样的,但是-force_load需要指定要进行全部加载的库文件的路径,这样的话,你就只是完全加载了一个库文件,不影响其余库文件的按需加载.

iOS插件化开发之Small

{% github it-boyer SmallDemo 5931b43 width = 30% %}

官网 small是android与iOS平台比较出名的轻巧的跨平台插件化框架,也正是被这一点吸引,决定将small应用到集团内部的应用引擎模块化方案中,本篇博文主要讲述本人基于small在iOS平台实现的定制化APP方案(运营自由配置、自由组合、自动打包)~ 特性与功能

当项目过大需要通过SSH方式Clone

设置全局提交信息

1
2
    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"

修改最后一次提交的用户名信息

``git git config user.name ‘wangz’ git config user.email ‘wangz@alib.com’ git commit –amend –author=wangz

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
### 项目过大问题
>git clone 主工程出现 fatal: The remote end hung up unexpectedly3)

通常的解决办法:
1. 设置提交缓存的大小为 1G:1048576000
    git config http.postBuffer 1048576000

2. 否则,需要配置github/gitlab的公钥
    生成:`ssh-keygen -t rsa -C "$your_email"`
    拷贝:`pbcopy < ~/.ssh/id_rsa.pub`
    创建SSHKey:
    在github/gitlab新建公钥`add SSH Key`:粘贴到密钥文本框中即可。
    

隐藏导航条底部黑线

当需要导航条为透明色,与背景色一体时,需要去除底边线: 如下代码:使用空图片设置背景图,并指定bar的样式。

1
2
self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

Objective-C的运行时库

Objective-C 运行时

Objective-C 是一门基于运行时的编程语言,这意味着所有方法、变量、类之间的链接,都会推迟到应用实际运行的最后一刻才会建立。这将给开发人员极高的灵活性,因为我们可以修改这些链接。而不同的是,Swift 绝大多数时候是一门面向编译时的语言。因此在 Swift 当中,灵活性受到了限制,不过您会因此得到更多的安全性。

MVVM介绍

MVVM

所以,MVVM 到底是什么?与其专注于说明 MVVM 的来历,不如让我们看一个典型的 iOS 是如何构建的,并从那里了解 MVVM:

Typical Model-View-Controller setup

我们看到的是一个典型的 MVC 设置。Model 呈现数据,View 呈现用户界面,而 View Controller 调节它两者之间的交互。

线程安全类的设计

这篇文章将专注于实用技巧,设计模式,以及对于写出线程安全类和使用 GCD 来说所特别需要注意的一些反面模式

线程安全

Apple 的框架

首先让我们来看看 Apple 的框架。一般来说除非特别声明,大多数的类默认都不是线程安全的。对于其中的一些类来说,这是很合理的,但是对于另外一些来说就很有趣了。