ios/xcode/objective c: 设置和获取会话变量

ios/xcode/objective c: set and get session variable

这不应该那么难,但我无法让它工作。 IOS newb 尝试在 Ismael here 的回答后在会话实例中设置用户 ID。但无法访问其他 class.

中用户标识的值

这是我使用的代码:

Session.h
@interface IDSession : NSObject
@property (readonly, copy) NSString *userid;
+ (IDSession *)sharedInstance;  
@end

Session.m
#import "IDSession.h"
@interface IDSession()
@property (readwrite,copy)NSString * userid;

@end

@implementation IDSession

+ (IDSession *)sharedInstance {
    static IDSession *session;
    if (!session){
        session = [[IDSession alloc] init];
        //include this class in other class and reference userid with [IDSession sharedInstance].userid
        NSString * userid = @"1";
    }
    return session;
}
@end
in retrieving class.

#import "session.h"

   NSString *userid =[Session sharedInstance].userid;
    NSLog(@"userid retrieved from session variable is %@",userid);

日志中出现的值为(null)

提前感谢您的任何建议。

您设置的是本地 userid 变量,而不是单例的 属性。

而不是:

NSString *userid = @"...";

你想要:

session.userid = @"...";