let sessions = TWTRTwitter.sharedInstance().sessionStore.existingUserSessions()理应返回TWTRSession的数组。但是,元素的类型是无类型的(Any),使用if let authsession = any as? TWTRSession转换为TWTRSession失败。另外,强制转换显然会崩溃。
let authsession = any as! TWTRSession // crashes崩溃错误:
Could not cast value of type 'TWTRSession' (0x103fbe370) to 'TWTRSession' (0x103cf5cc8).这是一个非常有趣的错误,你不这样认为吗?TWTRSession匹配,但可以肯定的是,十六进制值不匹配。
哦,这一直持续到3.3.0之前。Twitter的人没有发布说明或迁移说明。事情就这样悄悄地停止了。
发布于 2020-07-12 07:50:53
我最终创建了一个C函数来重新创建数组,并从我的Swift文件中调用它:
NSArray<TWTRSession *> *existingUserSessions(TWTRSessionStore *store) {
NSArray<TWTRSession *> *existingSessions = store.existingUserSessions;
NSUInteger count = existingSessions.count;
NSMutableArray<TWTRSession *> *sessions = [NSMutableArray arrayWithCapacity:count];
for (TWTRSession *session in existingSessions) {
[sessions addObject:session];
}
return [sessions copy];
}https://stackoverflow.com/questions/48296867
复制相似问题