作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用解析实现模型。
这是我的代码。
import Foundation
import UIKit
import Parse
class User {
var objectId : String
var username : String
var nickName : String
var phoneNumber : String
var preferPhoneNumber : String
var emailAddress : String
var preferemailAddress : String
var emailVerified : Bool
var createdAt : NSDate
var updatedAt : NSDate
var profile_picture : UIImage
init(objectId:String, username:String, nickName:String, phoneNumber: String, preferPhoneNumber : String, emailAddress : String, preferemailAddress : String, emailVerified : Bool){
self.objectId = (PFUser.currentUser()?.objectId)!
self.username = (PFUser.currentUser()?.username)!
if var nickName = (PFUser.currentUser()?.objectForKey("nickName") as? String){
(PFUser.currentUser()?.objectForKey("nickName") as? String)
}else{
"!NoData"
}
if var phoneNumber = (PFUser.currentUser()?.objectForKey("phoneNumber") as? String){
self.phoneNumber = (PFUser.currentUser()?.objectForKey("phoneNumber") as? String)!
}else{
"!NoData"
}
if var preferPhoneNumber = (PFUser.currentUser()?.objectForKey("preferPhoneNumber") as? String){
self.preferPhoneNumber = (PFUser.currentUser()?.objectForKey("preferPhoneNumber") as? String)!
}else{
"!NoData"
}
if var emailAddress = (PFUser.currentUser()?.objectForKey("emailAddress") as? String){
self.emailAddress = (PFUser.currentUser()?.objectForKey("emailAddress") as? String)!
}else{
"!NoData"
}
if var preferemailAddress = (PFUser.currentUser()?.objectForKey("preferemailAddress") as? String){
self.preferemailAddress = (PFUser.currentUser()?.objectForKey("preferemailAddress") as? String)!
}else{
"!NoData"
}
if var emailVerified = (PFUser.currentUser()?.objectForKey("emailVerified") as? Bool){
self.emailVerified = (PFUser.currentUser()?.objectForKey("emailVerified") as? Bool)!
}else{
"!NoData"
}
}
在我的代码中,我在制作模型期间收到“从初始化程序返回而不初始化所有存储的属性”的错误。
我试着把“return nil”放在最后,这不是解决方案。
所以我想知道如何初始化存储的属性?
或者如何解决这个错误?
最佳答案
在初始化器完成后,所有存储的属性都需要有一个值。快速浏览后,我发现至少有 3 个变量没有赋值:
var createdAt : NSDate
var updatedAt : NSDate
var profile_picture : UIImage
此外,我认为您的 if 分支也会与该概念冲突,因为在 else 情况下您会再次错过分配值的机会。
要么为所有这些字段提供默认值或真实值,要么将它们更改为可选值,例如 NSDate?
或 NSDate!
、String?
或 String!
等
关于swift - 制作模型时报错 "return from initializer without initializing all stored properties",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32938577/
我无法在附加行中显示“真”、“假”、"is"和“否”按钮。 我在这里有一个应用程序:Application 请按照以下步骤使用应用程序: 1。当你打开应用程序时,你会看到一个绿色的加号按钮,点击 在此
我是一名优秀的程序员,十分优秀!