【发布时间】:2017-10-14 12:55:11
【问题描述】:
我遇到了userdataArray.first(where....) 的问题。基本上,我的目标是根据userId 提取userdata 的消息以填充单元格。
变量userdata 包含一个数组。但是,当我尝试使用 userdata?.name 配置单元时,模拟器会出错。
我做错了什么? userdata 不是数组,还是嵌套数组?
viewController中的代码:
let userdata = userdataArray.first(where:{$0.userId == activity.userId})
print("Array filter test")
dump(userdata)
let image = UIImage(named: "profile_image")
cell.configureCell(profileImage: image!, profileName: "(userdata?.name)!", activityDate: "8 October", name: activity.name, distance: "8 km", sightings: activity.sightings, kills: activity.kills)
return cell
Xcode 的输出和错误:
Array filter test
▿ Optional(Shoota_MapKit.Userdata)
▿ some: Shoota_MapKit.Userdata #0
- userId: "NhZZGwJQCGe2OGaNTwGvpPuQKNA2"
- name: "Christian"
- city: "Oslo"
- country: "Norway"
- profileImage: "profile_image"
【问题讨论】:
-
哪里出错了?我刚刚看到你
userdataArray的日志。 -
@CharlesSrstka:你是对的,当我在 cell.configure 中使用 userdata?.name 时出现错误。 Xcode 然后得到这个错误 Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)