- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个网络管理器结构。我试图在我的主 UIViewController
中初始化它,但失败了。
struct NetworkManager {
static var enviroment: NetworkEnviroment = .production
static var apiKey = ""
private let mainApiRouter = Router<MainApi>()
func login(username: String, pass: String, completion:@escaping(_ product:User?, _ err: String?) ->()){
mainApiRouter.request(.login(username: username, password: pass)) { (data, resp, err) in
if err != nil {
completion(nil, "Please check your network connection")
} else {
if let reponse = resp as? HTTPURLResponse {
let result = handelNetworkResponse(reponse)
switch result {
case .success:
guard let responseData = data else {
completion(nil, NetworkResponse.noData.rawValue)
return
}
do {
let apiResponse = try JSONDecoder().decode(UserData.self, from: responseData)
if apiResponse.data != nil {
completion(apiResponse.data, nil)
} else {
completion(nil, "User login failed")
}
}catch(let error) {
completion(nil, "\(error.localizedDescription)")
}
case .failure(let failureError):
completion(nil, failureError)
}
}
}
}
}
}
然后这就是我在 View Controller 中初始化它的方式,这样我就可以在网络管理器结构中使用登录功能。当我调用 super.init
编码器时,网络管理器为零。
class LoginViewController: UIViewController {
var networkManager: NetworkManager!
init(networkManager: NetworkManager) {
super.init(nibName: nil, bundle: nil)
self.networkManager = networkManager
}
required init?(coder aDecoder: NSCoder) {
// super.init(coder: aDecoder)
fatalError("init(coder:) has not been implemented")
}
}
最佳答案
您的问题是,您正在尝试从 Storyboard 加载此 View Controller ,但尚未实现 Storyboard 用于初始化在 Storyboard 中创建的 View 的 init(coder:)
。如果您删除 fatalError 并使用 super.init(coder: aDecoder) ,那么您的 View Controller 将成功加载,但您用于初始化网络管理器的代码将永远不会被调用,因为 Storyboard不会加载 View Controller 时不要调用该初始化程序 - 您必须将该代码移到其他地方。
关于swift - 尝试用 self 初始化结构会出错。正确的做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52582542/
如果您想分享更多信息,可以在这里找到整个资源 指针: https://github.com/sergiotapia/DreamInCode.Net 基本上,我的API将为其他开发人员提供
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我不是 SCM 工具的经验丰富的用户,尽管我确信它们的用处,当然。 我在以前的工作中使用了一些不起眼的商业工具,在当前的工作中使用了 Perforce,并在我的小型个人项目中使用了 TortoiseS
所以我想知道一些我应该避免在 javascript 中做的事情以获得良好的 SEO 排名。在我的下一个站点中,我将广泛使用 jquery 和 javascript,但不想牺牲 SEO。那么您认为我应该
基本上,我想知道什么是避免 future CSS 代码出现问题和混淆的最佳方法... 像这样命名 CSS 属性: div#content ul#navigation div.float-left (真
我是一名优秀的程序员,十分优秀!