【发布时间】:2013-05-23 19:05:11
【问题描述】:
我有一个 Objective-C 静态库(iOS SDK 6):
实施文件 (.m)
#import "MyClass.h"
@implementation MyClass
static id _instance;
static NSString *version;
- (id)init {
if(_instance == nil) {
_instance = [super init];
version = @"1.0";
}
return _instance;
}
- (NSString *)getVersion {
return version;
}
+ (MyClass *)sharedInstance {
return _instance;
}
@end
当我访问其他 iPhone App 项目中的类(导入库)时,我无法获取版本字符串。
#import "ViewController.h"
#import <MyClass/MyClass.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
MyClass *cls = [MyClass sharedInstance];
NSLog(@"Loaded. Version: %@", [cls getVersion]);
}
@end
我错过了什么?没有报错,但是版本是(null)
【问题讨论】:
-
你能展示一下召唤的实现吗?
-
对不起,应该是
sharedInstance而不是summon -
真的调用了init吗?我不这么认为。
-
尝试打印id cls,并确认其类类型。我想这就是你错过了什么的地方。
标签: iphone objective-c