Я создал массив в одиночном коде для записи в него объектов из нескольких частей моего кода.Вот как:
// in singleton.h
#import <UIKit/UIKit.h>
// make globally accessible array
@interface MyManager : NSObject {
NSMutableArray *imgArray;
}
@property (nonatomic, retain) NSMutableArray *imgArray;
+ (id)sharedManager;
@end
// in singleton.m
#import "singleton.h"
Для моего файла .m:
@implementation MyManager
@synthesize imgArray;
#pragma mark Singleton Methods
+ (id)sharedManager {
static MyManager *sharedMyManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedMyManager = [[self alloc] init];
});
return sharedMyManager;
}
- (id) init {
if (self = [super init]) {
self.imgArray = [NSMutableArray new];
}
NSLog(@"initialized");
return self;
}
@end
Я могу получить доступ к своему массиву imgArray из моего объективного кода C.Тем не менее, в быстром я получаю сообщение об ошибке:
let array = MyManager.sharedManager()
array.imgArray.add("hello world") . (!!!) Value of type 'Any?' has no member 'imgArray'
Я могу получить доступ к MyManager.sharedManager()
, но Почему я не могу получить доступ к imgArray
так же, как в цели C?