我为糟糕的标题道歉,任何改变都是受欢迎的。
我有一个函数,检查安装的外部驱动器,并打印他们,这工作完美,因为for循环循环打印出每一项。
我希望它也返回这些连接成字符串或数组的驱动器。问题是,虽然它会完美地打印它们,但它只会返回最后一项(因为这显然是循环结束时剩下的一项)。
任何帮助,让它返回所有安装的磁盘(而不仅仅是最后一个)将是美妙的。
func checkMountedDrives() -> String
{
var volumeURLString = "unkmown"
if let session = DASessionCreate(kCFAllocatorDefault) {
let mountedVolumeURLs = FileManager.default.mountedVolumeURLs(includingResourceValuesForKeys: nil)!
for volumeURL in mountedVolumeURLs {
if let disk = DADiskCreateFromVolumePath(kCFAllocatorDefault, session, volumeURL as CFURL),
let bsdName = DADiskGetBSDName(disk) {
let bsdString = String(cString : bsdName)
print("💾volumes ", volumeURL.path)
volumeURLString = String(volumeURL.path)
}
}
}
return volumeURLString // this only returns the last item, I want them all!
}
对于一个新的(和非常老的)程序员的任何帮助都会感激不尽。
1条答案
按热度按时间31moq8wy1#
如果您需要bsd和卷,请使用struct
第一次