インスタンスで使用しようとしCFSetGetValues()
ていNSSet
ますが、セットのメモリを破壊しているようです。ウォッチポイントを使用して、セット インスタンスが from に書き込まれますobjc_assign_strongCast_non_gc()
。今のところ、何が起こっているのかわかりません。
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSSet *set = [NSSet setWithObjects:@1, @2, @3, nil];
const void *objects = calloc(set.count, sizeof(id));
CFSetGetValues((__bridge CFSetRef)set, &objects);
NSLog(@"Set %@", set); // *** set has been clobbered ***
}
return 0;
}
これは OS X 10.8、64 ビット上にあります。同じコードを iOS シミュレーターで実行すると失敗します。