CaveOps: Night-City
#Hello Edgerunners, welcome to the Night-City.

Welcome!

Obj-C: Associate struct value to your object

The value of function OBJC_EXPORT void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy) must be an Objective-C object. We need to wrap the struct in an Objective-C class. StructType s = ...; NSValue* value = [NSValue valueWithBytes:&s objCType:@encode...

Swift: 指针的使用

Apple 期望在 Swift 中指针能够尽量减少登场几率,因此在 Swift 中指针被映射为了一个泛型类型,并且还比较抽象。 这在一定程度上造成了在 Swift 中指针使用的困难,特别是对那些并不熟悉指针,也没有多少指针操作经验的开发者 (包括我自己也是) 来说,在 Swift 中使用指针确实是一个挑战。在这篇文章里,我希望能从最基本的使用开始,总结一下在 Swift 中使用指针的一些常见方式和场景。这篇文章假定你至少知道指针是什么,如果对指针本身的概念不太清楚的话,可以先看看这篇五分钟 C 指针教程 (或者它的中文版本),应该会很有帮助。 初步 在 Swift 中,指针都使用一个特殊的类型...

OS X: NSMenuItem 快捷键

NSMenu 是很常用的东西, 除了可以通过点击响应事件外, 还可以设置快捷键: NSMenuItem *hasKey = [[NSMenuItem alloc] initWithTitle:@"Hit Command+Shift+X" action:@selector(hitKeys) keyEquivalent:@"X"]; [hasKey setKeyEquivalentModifierMask:NSEventModifierFlagCommand | NSEventModifierFlagShift]; 更新: NSEventModifie...

OS X: Create Status Bar Item

直入主题, 为 OS X APP 添加菜单栏图标: NSStatusItem *statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength]; statusItem.image = [NSImage imageNamed:@"normal"]; statusItem.alternateImage = [NSImage imageNamed:@"highlight"]; statusItem.action = @selector(cl...

Python : 单例模式的实现

单利模式(Singleton)是大部分开发任务中常用的设计模式之一。这里我主要总结一下 Python 中的单利实现方式。 我综合了许多人的意见,主要有这样几种实现方式: 类实例与类变量绑定。 共享属性。 使用装饰器。 使用元类。 类实例与类变量绑定 先来看第一种方式: class Singleton(object): _instance = None def __new__(cls, *args): if not isinstance(cls._instance, cls): cls._instance = supe...

Liquid for Designers

Jekyll 是这个博客网站的主要支撑之一,本文主要介绍其基本语法及使用。 在 Liquid 中有两种标记类型: 输出 (Output) 和 标签(Tag)。 输出标记 (有些可能解析文本) 被包含在: {% raw %}{{ 两对配对的花括号之间 }}{% endraw %} 标签标记 (不能解析文本) 被包含在: {% raw %}{% 成对的花括号与百分号之间 %}{% endraw %} 输出 一个输出声明被包含在两对配对的花括号之间,当模板被渲染后,其内容会被替换为对应的值。 这是一个简单的例子: Hello {% raw %}{{name}}{% endra...

JSONKit isa错误解决办法

由于JSONKit不支持ARC,所以我们导入JSONKit之后都需要在Target中为JSONKit.m添加-fno-objc-arc,但是这时候可能出现一个isa错误,解决办法是在Target的Build Settings中搜索Direct usage of 'isa'并将其设置为NO即可。...

iOS : JavaScriptCore

最近在个人项目中频繁的使用 JavaScript,于是趁着这个机会介绍一些 iOS 开发中关于 JavaScript 的内容。 JavaScriptCore 是一个存在于 OS X 与 iOS 平台中很长时间的框架,从 iOS 7 开始移动端的开发者已经可以使用这套框架,虽然他并不完美,但依赖于内置的 JavaScript 解释器,还是可以为我们做出大量的贡献,而这篇博客主要介绍的,就是这种 JavaScript Binding 技术。 什么是 JavaScript Binding? 那什么是 JavaScript Binding 呢?有的朋友可能接触过类似的东西,比如 Lua Binding...

新仙剑奇侠传全剧情图文通关攻略

梦境-罗刹洞 飞龙失伴云中探,遗恨天际陨灵珠。李逍遥乘着飞剑,追踪几个小鬼来到罗刹洞。洞中的小妖不难对付,路也不难走,不多久就能见到BOSS罗刹鬼婆。此战必败,随便打打就是了,不用浪费了刚得的高等级药物,药物醒来后不会消失。动手吧~!十八年后,俺又是一条好汉~!醒来后剧情,发现婶婶在床边敲打着,原来刚才发生的一切只是南柯一梦。 支线剧情:打开左侧【神仙茶】宝箱会触发土妖剧情。他想借逍遥身上的宝剑【纯阳剑】杀独角青龙,可以选择借或不借。借的话在装备栏里换上【木剑】,再给他即可,借给他是触发灵儿版隐藏结局的条件之一,且以后会得到归还的【纯阳剑】和【青龙碧血玉】。不遇到土妖则是触发月如版隐藏结局的条...

iOS : Touch ID

苹果在 iOS 8 中向开发者开放了 Touch ID 的 API,本文主要介绍它的使用。 从哪里入手 其实关于 Touch ID 的 API 全部都在一个叫做 LocalAuthentication 的 framework 中,其中仅含有三个头文件: LAContext.h LAError.h LAPublicDefines.h 而且事实上,实际使用中你可能仅仅用到 LAContext 中的 两个方法: // 设备是否支持 Touch ID - (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * __au...

Android: RecyclerView 基本使用

RecyclerView 是 V7 包新增用来替代 ListView 的控件,本文主要介绍它的基本用法。 gradle 包引用 (与 CardView 配合使用)。 compile 'com.android.support:cardview-v7:21.0.3' compile 'com.android.support:recyclerview-v7:21.0.3' 在 XML 中使用 <android.support.v7.widget.recyclerview xmlns:android="https://schemas.a...

Python: 统计代码行数

无所事事,忽然想到统计一下自己写的项目的代码行数。 #!/usr/bin/env python3 import os, sys, getopt thisFile = os.path.splitext(os.path.basename(__file__))[0] thisVersion = '1.0.0' # 输出程序标题 def printTitle(): title = 'Line Counter by Meniny' sep = '' for i in range(len(title) + 2): ...

What's this?

The Night-City version of CaveOps inspired by Cyberpunk 2077. Not finished yet.

Pinned Message

The Founder and CEO of Infeca Technology.

Developer, Designer, Blogger.

Big fan of Apple, Love of colour.

Feel free to contact me.

反曲点科技创始人和首席执行官。

开发、设计与写作皆为所长。

热爱苹果、钟情色彩。

随时恭候 垂询