我有一个shared_ptr的向量:

std::vector<std::shared_ptr<Element>> vector

我需要把它投射到NSArray,我试过这样的方式:

_arrayDataSource = [NSArray arrayWithObjects:&vector[0] count:vector.size()];

但它给了我这个错误:

无法初始化类型为'id _Nonnull const __unsafe_unretained * _Nonnull'的参数,其类型为'std :: __ 1 :: __ vector_base,std :: __ 1 :: allocator >> :: :: value_type *'(又名'std :: __ 1' :: shared_ptr *')

有没有更好的方法将shared_ptr的向量转换为NSArray?