您好我正在使用 DiskArbitration.framework 来获取磁盘列表
+(NSArray*)arrayOfDisks {
DASessionRef session = DASessionCreate(kCFAllocatorDefault);
if (session) {
DARegisterDiskAppearedCallback(session, NULL, driveGo, NULL);
DASessionScheduleWithRunLoop(session,
CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
CFRelease(session);
}
return nil;
}
void driveGo(DADiskRef disk, void *context) {
NSLog(@"%s", DADiskGetBSDName(disk));
}
它记录得很好,但是我怎样才能返回数组呢?它只是循环,所以我什至不知道如何检查它是否完成。