基本上我在 Swift 中使用 AssetsLibrary 框架,如何将停止指针的值修改为 NO/False/0 (我什至不知道它应该除外什么值)?
self.library.enumerateGroupsWithTypes(ALAssetsGroupType(ALAssetsGroupSavedPhotos), usingBlock: {(group: ALAssetsGroup!, stop: CMutablePointer<ObjCBool>) in
},
failureBlock: {(error: NSError!) in
})
我应该能够访问该值并使用 unsafePointer 修改它,但我似乎无法正确编写闭包。
这相当于*stop = YES;
:
stop.withUnsafePointer { $0.memory = true }
为了使其更简洁,您可以执行以下操作:
operator infix <- {}
@infix func <- <T>(ptr: CMutablePointer<T>, value: T) {
ptr.withUnsafePointer { $0.memory = value }
}
然后上面的行就变成了这样:
stop <- true
但不确定这是否是推荐的风格......
(您可以选择字符/ = - + * % < > ! & | ^ . ~
创造自定义运算符 https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/swift_programming_language/AdvancedOperators.html#//apple_ref/doc/uid/TP40014097-CH27-XID_48.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)