V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  notcome  ›  全部回复第 9 页 / 共 20 页
回复总数  394
1 ... 5  6  7  8  9  10  11  12  13  14 ... 20  
我打了个人,关了一千三百年才给我入境
先用纸笔,完了上 Keynote,最后用 CoreAnimation
2014-07-19 08:42:00 +08:00
回复了 dong3580 创建的主题 问与答 发现当当网等网站的退订广告邮件纯同虚设
我是不是该考虑考虑换成 Gmail,iCloud 至今没找到方便当 spam 处理的方法,只能在 Web 端应用规则,把指定地址的邮箱递到 Trash。
试试最先进的桌面操作系统?
看看桌面权限?ls -l ~/Desktop
2014-07-17 20:25:48 +08:00
回复了 xx314327475 创建的主题 北京 北京马拉松要开始报名了,有 v2exer 去嘛?
决定试试看……不过我是传说中的体渣啊……
2014-07-14 08:45:29 +08:00
回复了 Livid 创建的主题 Google Google 节点右侧增加一个新链接
@nichan 已在 QQ 空间上做实验,看看能有几个人上钩。
@xiaopangljl WWDC 2014 的啊
2014-07-12 23:59:57 +08:00
回复了 rubyking 创建的主题 程序员 半夜睡不着你们通常会选择做些什么?
据说可以 map reduce sheep
2014-07-12 12:41:37 +08:00
回复了 mailunion 创建的主题 问与答 何处下载正版 MP3
@mantianyu 能听出来真是神耳
推荐楼主看看 Fake It Till You Make It

原来 Keynote 还可以这么用。
2014-07-08 11:35:27 +08:00
回复了 aaronmix 创建的主题 iDev iOS 8/OS X Yosemite/Xcode 6 已出 beta 3!
卧槽合着我上次写 Swift 的 Hiredis 绑定花了那么多功夫全废了?
2014-07-07 08:56:13 +08:00
回复了 openervpn 创建的主题 DNS OpenerDNS 项目 安全问题的声明
本来就没办法证明安不安全,有怀疑也很正常啊。
2014-07-06 01:31:09 +08:00
回复了 rayps 创建的主题 Minecraft 建了一个小型 Minecraft 服务器,欢迎来玩~
在出生点门口砍了一颗 dark oak tree 放了一个箱子和台子楼主不会砍掉吧……明天继续
好赞的样子。
2014-07-04 05:44:17 +08:00
回复了 BOOM 创建的主题 程序员 [HELP] 高中生关于学什么语言的问题
高中才开始也太迟了吧……
都说入门 SICP,我也不是很清楚,我三观是走了许多弯路后培养出来的。
2014-07-02 11:54:46 +08:00
回复了 notcome 创建的主题 iDev 给 Swift 写 Event Emitter,有什么优雅的方法吗?
2014-07-02 11:53:53 +08:00
回复了 notcome 创建的主题 iDev 给 Swift 写 Event Emitter,有什么优雅的方法吗?
class EEProto {
var A: Int
var B: Double

typealias EventChangeA = (Int, Int) -> Void
typealias EventChangeB = (Double, Double) -> Void
typealias EventChanged = () -> Void

struct RegisteredEvent {
var eventChangeA: EventChangeA[]
var eventChangeB: EventChangeB[]
var eventChanged: EventChanged[]
}

enum EventType {
case changeA(EventChangeA[])
case changeB(EventChangeB[])
case changed(EventChanged[])
}

var registeredEvents: RegisteredEvent

init (A: Int, B: Double) {
self.A = A
self.B = B
registeredEvents = RegisteredEvent(eventChangeA: [], eventChangeB: [], eventChanged: [])
}

func on (event: EventType) {
switch event {
case .changeA(let events):
registeredEvents.eventChangeA += events
case .changeB(let events):
registeredEvents.eventChangeB += events
case .changed(let events):
registeredEvents.eventChanged += events
default:
assert("unhandled event type | check your code")
break
}
}

func resetEvents (eventType: EventType) {
switch eventType {
case .changeA:
registeredEvents.eventChangeA = []
case .changeB:
registeredEvents.eventChangeA = []
case .changed:
registeredEvents.eventChangeA = []
default:
assert("unhandled event type | check your code")
break
}
}

func setA (newA: Int) {
let oldA = A
A = newA
for cb in registeredEvents.eventChangeA {
cb(oldA, newA)
}
for cb in registeredEvents.eventChanged {
cb()
}
}

func setB (newB: Double) {
let oldB = B
B = newB
for cb in registeredEvents.eventChangeB {
cb(oldB, newB)
}
for cb in registeredEvents.eventChanged {
cb()
}
}
}

var inst = EEProto(A: 10, B: 5.5)
inst.on(EEProto.EventType.changeA([{
println("from \($0) to \($1)")
}]))
inst.on(EEProto.EventType.changeB([{
println("from \($0) to \($1)")
}]))
inst.on(EEProto.EventType.changed([{
println("value changed")
}]))

inst.setA(10)
inst.setB(3.14)

好冗余………………丑爆了。
2014-07-02 09:10:13 +08:00
回复了 notcome 创建的主题 iDev 给 Swift 写 Event Emitter,有什么优雅的方法吗?
不过说实话,发 iDev 不合适……不过估计这里的人对 Swift 最熟了。
1 ... 5  6  7  8  9  10  11  12  13  14 ... 20  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1062 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 19:06 · PVG 03:06 · LAX 12:06 · JFK 15:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.