假设我有这个属性:
@property (nonatomic, readwrite) void*** array;
并使用objective-c对象初始化数组:
- (id) init
{
if(self=[super init])
{
array= malloc(10*sizeof(void**));
for(NSUInteger i=0; i<10; i++)
{
array[i]= malloc(10*sizeof(void*));
for(NSUInteger j=0; j<10; j++)
{
array[i][j]= (__bridge_retained void*) @"Hello";
}
}
}
return self;
}
然后我发现对象并没有真正保留:
Custom* c=[Custom new];
NSLog(@"%@",(__bridge NSString*)c.array[40][40]);
这个打印(null),我以为桥保留演员确实强制保留对象,如何解决这个问题?