RayJiang9 最近的时间轴更新
RayJiang9

RayJiang9

V2EX 第 424826 号会员,加入于 2019-06-26 12:39:45 +08:00
今日活跃度排名 11576
根据 RayJiang9 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
RayJiang9 最近回复了
@COOOOOOde #3 哥们在哪个平台买的,找了一圈没看到这个价格
非凡云开业大吉! https://ffy.com
@KotoLyly #29

你居然记得一模一样
@Xheldon #4 Codable 我不太喜欢用,相比之下还是习惯用 SwiftyJSON 配合脚本生成 Model ,Codable 搭配 @propertyWrapper 可以实现 json 不一一对应,可以看下这个库 BetterCodable
写得很好,枚举的关联值很好用的,在实际项目中也是在大量使用。
举个栗子,处理 IM 的自定义消息可以这样写:
由于枚举的特性,所有写 switch 的地方(如果没有 default ),会编译报错,这样在新增自定义消息类型的时候不会漏掉所有要改的地方。
其次可以把需要用的字段从 JSON 里解析出来,放进枚举方便使用。

enum IMMessageType {
/// 0 (普通文本)
case text(content: String)
/// 1 (详情)
case detail(id: Int, name: String)

init(from json: JSON) throws {
guard let messageType = json["messageType"].int else {
throw CommonAPIError.invalidResponsor
}
switch messageType {
case 0:
self = .text(content: json["content"].stringValue)
case 1:
self = .detail(id: json["detailID"].intValue, name: json["detailName"].stringValue)
default:
throw CommonAPIError.invalidResponsor
}
}

var displayText: String {
switch self {
case .text(let content):
return content
case .detail(_, let name):
return "详情-\(name)"
}
}
}
31 天前
回复了 Tsing2 创建的主题 iOS iOS 下如何不再让 APP 提醒我打开推送
打开通知摘要,把这类 App 都放进去,一天就只合并推送一次
直接和医师说不要开中成药就行了
44 天前
回复了 markyun02 创建的主题 生活 大家生日是过阳历时间,还是农历的?
@liuhmchn #18 在联系人里面填农历生日,然后日历里面会有事件
支持一下
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2782 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 13:04 · PVG 21:04 · LAX 06:04 · JFK 09:04
Developed with CodeLauncher
♥ Do have faith in what you're doing.