纳兰若水


  • 首页

  • 归档

  • 分类

  • 标签

Xcode9 之 Xcode Server 持续集成

发表于 2017-08-16 | 分类于 工具调研
字数统计: 929 | 阅读时长 ≈ 3

前言:Xcode9之前使用Xcode Server 步骤比较繁琐,还需要单独的macOS Server app,Xcode9之后preferences新增了Server & Bots 选项, 将Xcode Server内置在了Xcode中。
下面将介绍在Xcode9中如何设置和使用Xcode Server。

开启Server & Bots

选择设置Xcode Server的用户,我选择的是自己,也可以选择其他用户。

阅读全文 »

Effective Objective 2.0 读书笔记 之 GCD

发表于 2017-02-24 | 分类于 读书笔记
字数统计: 1.6k | 阅读时长 ≈ 6

      Grand Central Dispatch (GCD) 是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想执行的任务并追加到适当的Disptach Queue中,GCD就能生成必要的线程并计划执行任务。由于线程管理是作为系统的一部分来实现的,因此可统一管理,也可执行任务,这样就比以前的线程更有效率。
      GCD用我们难以置信的非常简洁的记述方法,实现了极为复杂繁琐的多线程编程。下面列出几点关于GCD使用的高效方法。

一:使用Dispatch_once来执行只需运行一次的线程安全代码(单例)

      单例模式大家都不陌生,常见的实现方式为:在类中编写名为sharedInstance的类方法,该方法只会返回全类共用的单例实例,而不会每次调用时都创建新的实例。例如:

1
2
3
4
5
6
7
8
9
+(void)sharedInstance{
static DemoClass *sharedInstance = nil;
@synchronized(self){
if(!sharedInstance){
sharedInstance = [[self alloc]init];
}
}
return sharedInstance;
}

阅读全文 »

React-Native 之 Image加载本地图片的坑

发表于 2017-01-05 | 分类于 技术
字数统计: 353 | 阅读时长 ≈ 1

在使用React-Native 的 Image加载本地图片碰到一个小坑,在这里记录下。

阅读全文 »

React-Native 之 ListView 的简单使用

发表于 2017-01-05 | 分类于 技术
字数统计: 689 | 阅读时长 ≈ 3

官方文档详细的介绍了ListView的使用方式。
在这里我简单的进行了实践,拉取网络数据进行显示,触底自动加载更多。代码非常简洁清晰,这里直接贴出来O(∩_∩)O~。

阅读全文 »

Effective Objective 2.0 读书笔记 之 动态方法解析实现@dynamic属性

发表于 2017-01-04 | 分类于 读书笔记
字数统计: 1.4k | 阅读时长 ≈ 5

我们要知道在Objective-C中,如果像某对象传递消息,那就会使用动态绑定机制来决定需要调用的方法。在底层,所有方法都是普通的C语言函数,然而对象收到消息之后,究竟该调用哪个方法则完全于运行期决定,甚至可以在程序运行时改变(最常见的运用场景就是Method Swizzle黑魔法),这些特性使得Objective-C成为一门真正的动态语言。
给对象发送消息:

1
id returnValue = objc_msgSend(someObject,@selector(messageName:),parameter);

objc_msgSend方法会在接收者所属的类中搜寻其”方法列表 list of methods (可通过class_copyMethodList(objClass,&count)方法获取对象所有方法列表) “,如果能找到与选择子(也就是messageName)名称相符的方法就跳转至其实现代码。若找不到则沿着继承体系向上查找,找到方法再跳转( note :找到后,objc_msgSend会将匹配的结果缓存在快速映射表(fast map)里面,每个类都有这样一块缓存,若是稍后还向该类发送与选择子相同的消息,那么执行就很快。当然还是稍微不如静态绑定的函数调用快,不过消息派发机制并不会成为应用程序的瓶颈啦!),
如果最终还是找不到相符的方法,那就执行消息转发(message forwarding)操作。消息转发分为两大阶段,动态方法解析阶段和完整的消息转发阶段。
本文将用例子来演示第一阶段的运用。

阅读全文 »

JSPatch - 随笔记录常见问题

发表于 2017-01-03 | 分类于 技术
字数统计: 1k | 阅读时长 ≈ 4

接触JSPatch也快一年,在此总结归纳一些新接触的开发者容易碰到的一些问题。其实很多问题bang哥在wiki中已经写的很详细了,建议花点时间仔细看看下面这两个WiKi内容。

  • 基础用法
  • 常见问题

想要了解JSPatch实现原理可以先看 JSPatch 实现原理详解

require导入类

只需要一对' ', 多个类之间用逗号 ,分隔:

1
require('UIView, UIColor')

方法遇到下划线_需要特别注意

因为JSPatch是通过_来分割方法参数的,所以遇到方法本身带有_的时候需要使用__双下划线代替,否则会被识别成一个参数,导致出现类似如下的报错。

阅读全文 »

搬入巨人网络二期大楼

发表于 2016-09-15 | 分类于 记录 游记
字数统计: 249 | 阅读时长 ≈ 1

终于搬到期待已久的新办公楼了-巨人网络二期大楼

从毕业到巨人网络至今整整两年了,值得纪念啊~趁这次入驻二期大楼,记录下这时刻。
二期大楼被称为国内最具硅谷研发气质园区哦,我这就来贴图啦~~

二期大楼外观图


阅读全文 »
1…34
纳兰若水

纳兰若水

随便写写读书笔记、技术学习、随想、生活、游记

37 日志
12 分类
8 标签
RSS
GitHub Twitter
© 2017 — 2022 纳兰若水
沪ICP备2021021008号-1
| Site words total count: 0 字 Site words total count: 56.8k