作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个登录 View Controller ,它使用 php/mysql/POST 函数来验证用户是否被授权。获得授权后,他们进入应用程序。
我的问题是,一旦他们进入应用程序,我如何“获取”他们的用户名并使用它附加到他们在我的应用程序中上传到我的数据库的任何数据?
我假设我将它附加到我当前的 NSMutableData 字符串,该字符串包含他们上传的文本 block ,但是我如何“获取”这个用户名来附加它?
假设我有两个 View Controller ,“login”和“main”,并且内容正在上传到“main”,我如何将用户名从“login” View 传递到“main” View ,以便我可以在用户点击上传按钮(位于主视图上)时附加它吗?
编辑:我希望检索此用户名的位置如下:
-(IBAction)uploadImage:(id)sender {
NSLog(@"uploadImage");
//and for retrieval
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *authenticatedUsersName = [defaults objectForKey:@"username"];
NSMutableString *postString = [NSMutableString stringWithString:kPostURL];
[postString appendString:[NSString stringWithFormat:@"&%@=%@", kText, textField.text]];
[postString setString:[postString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
最佳答案
如果您不关心用户名的安全性,为什么不在成功验证后将用户名存储在 NSUserDefaults
中?你可以做这样的事情....
//upon authentication...
NSUserDefault *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"username"] == nil) //we haven't saved anything yet
[defaults setObject:authenticatedUsersName forKey:@"username"];
[defaults synchronize]; //saves the new defaults
//and for retrieval
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *authenticatedUsersName = [defaults objectForKey:@"username"];
我认为这种设计为您提供了更大的灵 active ,因此您可以在应用中的所有 View Controller 中使用用户名。
重新编辑后
为什么不能在这个函数的某处格式化字符串?确切的帖子 url 格式是什么?
-(IBAction)uploadImage:(id)sender {
NSLog(@"uploadImage");
//and for retrieval
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *authenticatedUsersName = [defaults objectForKey:@"username"];
//MY CHANGES, CAN YOU DO EITHER OF THESE?
NSMutableString *postString = [NSMutableString stringWithString:[NSString stringWithFormat:@"%@-%@", kPostURL, authenticatedUsersName];
[postString appendString:[NSString stringWithFormat:@"&%@=%@&%@", kText, textField.text, authenticatedUsersName]];
[postString setString:[postString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
}
关于iphone - 如何在 Cocoa Touch 中处理用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10401851/
我是一名优秀的程序员,十分优秀!