Ios 将值从UserDefault传递到Swift 3中的字符串
我在let变量中得到一个值,现在我想把它传递给一个字符串变量,但当我试图传递它时,它显示了使用未解析标识符的错误。我获取值的代码是Ios 将值从UserDefault传递到Swift 3中的字符串,ios,swift3,Ios,Swift3,我在let变量中得到一个值,现在我想把它传递给一个字符串变量,但当我试图传递它时,它显示了使用未解析标识符的错误。我获取值的代码是 if let str = UserDefaults.standard.string(forKey: "name") { print("Found \(str)") } else { print("No string for key") } 我要把这个传给谁 senderDisplayName = str 这是senderDisplayName -
if let str = UserDefaults.standard.string(forKey: "name") {
print("Found \(str)")
} else {
print("No string for key")
}
我要把这个传给谁
senderDisplayName = str
这是senderDisplayName
- (void)didPressSendButton:(UIButton *)button withMessageText:(NSString *)text senderId:(NSString *)senderId senderDisplayName:(NSString *)senderDisplayName date:(NSDate *)date { NSAssert(NO, @"Error! required method not implemented in subclass. Need to implement %s", PRETTY_FUNCTION); }
您可以将代码编写为:
if let str = UserDefaults.standard.string(forKey: "name") {
print("Found \(str)")
senderDisplayName = str
else {
print("No string for key")
}
或者您可以使用asguard编写的其他代码:
guard let str = UserDefaults.standard.string(forKey: "name") else {
return
}
senderDisplayName = str
您将行
senderDisplayName=str
放在哪里了?你能告诉我你的两段代码是用什么方法的吗?我使用的是JSQMessageViewConroller类,senderDisplayName就是从那里来的@Sweeper@siddle声明一个string类型的全局变量(ex-:senderDisplayName:string?),然后在if-let(ex-:senderDisplayName=str)中为该变量赋值。您可能做错了。@siddle代码senderDisplayName=str
writent这是senderDisplayName-(void)did按sendbutton:(UIButton*)按钮和messagetext:(NSString*)text senderId:(NSString*)senderDisplayName:(NSString*)senderIdsenderDisplayName日期:(NSDate*)日期{NSAssert(否,@“错误!子类中未实现必需的方法。需要实现%s”,PRETTY_函数);}非常感谢第二个是正确的,非常感谢@杰基