我需要访问(NSString)
中的userEMail Class2.m
属性,但它返回null。
Class1.h:
@interface AuthController : UIViewController
{
@public NSString *const userPassword;
@public NSString *const userEMail;
@public NSString *const userFullName;
}
@property (nonatomic, strong) NSString *userEMail;
然后在Class1.m中保存userEMail。
Class2.m:
AuthController *ac = [[AuthController alloc] init];
NSLog(@"%@", ac.userEMail);
答案 0 :(得分:-2)
我只是在此基本步骤,根据您的要求进行更改。
你只需要写
@property (nonatomic, strong) NSString *userEMail;
在您的first.h
文件中
写second.h
个文件
@property (nonatomic, strong) NSString *gotUserEMail;
您的first.m
文件
你有gotUserEMail
字符串有一些值..
将它传递给另一个ViewController,例如liek,
secondViewController *addView = [[secondViewController alloc] init];
addView.gotUserEMail = userEMail;
.
.
.
.
<强> EDITE 强>
好的,你需要使用NSUserDefault
。
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setValue:userEMail forKey:@"myEmailString"];
[userDefaults synchronize];
通过
获取项目中的任何位置NSUserDefaults *data = [NSUserDefaults standardUserDefaults];
NSString *gotEmail = [data floatForKey:@"myEmailString"];
答案 1 :(得分:-2)
阅读其他答案的评论后
我需要在多个类中获取userEMail值,因此向每个类发送数据是错误的
这听起来更像是在单身课后。所以试试这样的事情
AuthObject.h
@interface AuthObject : NSObject
@property (nonatomic, strong) NSString *userEMail;
+ (AuthController*)authInstance;
@end
AuthObject.m
#import "AuthObject.h"
@implementation AuthObject
@synthesize userEMail = _userEMail;
static AuthObject *authObjectSharedInstance = nil;
+ (AuthObject *)authInstance
{
static dispatch_once_t instanceToken;
dispatch_once(&instanceToken, ^{
authObjectSharedInstance = [[AuthObject alloc] init];
});
return authObjectSharedInstance;
}
@end
然后在另一个类中的另一个方法中,只要你在某个地方导入了AuthObject.h
- (void)someMethodIMadeUpInClass1
{
AuthObject *authObj = [AuthObject authInstance];
[authObj setUserEMail:@"myemail@address.com"];
}
然后在一个完全不同的课程中你可以做
- (void)someMethodIMadeUpInClass2
{
AuthObject *authObj = [AuthObject authInstance];
NSLog(@"my email : %@", [authObj userEMail];
}
理论上,如果您正在创建单例类而不是通过sharedInstance
(authInstance
此处),则该代码将被破坏。试图掩盖这种破碎只会导致以后的痛苦。这就是为什么我会选择单例类而不是NSUserDefaults
。