Hi Zach, Daniel, > On Mar 31, 2016, at 11:03 AM, Zach Waldowski via swift-corelibs-dev > <swift-corelibs-dev@swift.org> wrote: > > The semantics of the methods are fairly nuanced in ObjC. > > You can have a resource value that fails to be fetched, or one that > succeeded to fetch but had no value. A Swift version would model this as > `throws -> AnyObject?`. > > For the dictionary version, you may ask for a resource value, it > succeeds, but isn't included in the dictionary because it was `nil`. > This version is modeled "fine" in Swift, but like you mentioned it also > isn't available. > > Sorry for not being clear — the point was that it is desired for > corelibs-Foundation to have the same API as Darwin-Foundation, as has > been mentioned on this mailing list. Anything outside that has to be > approved (internally to Apple, I think?), and this just hasn't been > worked through yet. > > Unrelated, it also appears that the underlying versions > (CFURLCopyResourcePropertyForKey and CFURLCopyResourcePropertiesForKeys) > aren't included in corelibs-CoreFoundation. I have to imagine those are > pretty platform-specific, but I can't comment on their conspicuous > disappearance because I have no more knowledge than you do. ;) > > Zach >
Yes, the reason we left these out is that they are very platform specific. I could potentially see some kind of solution here where a dramatically reduced set of keys are available on all platforms. Things like file name and file size are probably able to be implemented in a cross-platform way. For now, I just left the whole thing out because sorting through what would be portable or not would be a pretty large task. - Tony > On Thu, Mar 31, 2016, at 12:23 PM, Daniel Eggert wrote: >> Well, there's >> >> func resourceValuesForKeys(_ keys: [String]) throws -> [String : >> AnyObject] >> >> which doesn't use AutoreleasingUnsafeMutablePointer, but that doesn't >> exist in Swift, either. >> >> And the other one could have a replacement like so: >> >> func resourceValue(forKey key: String) -> AnyObject throws >> >> The "NSURL resource value" API has 7 methods of which none exist in >> SwiftFoundation. >> >> /Daniel >> >> >> >>> On 31 Mar 2016, at 15:37, Zach Waldowski via swift-corelibs-dev >>> <swift-corelibs-dev@swift.org> wrote: >>> >>> You can't have AutoreleasingUnsafeMutablePointer without Objective-C >>> interop. >>> >>> Zach >>> >>> On Thu, Mar 31, 2016, at 07:17 AM, Daniel Eggert via swift-corelibs-dev >>> wrote: >>>> What's the reason for the "resource value" API on NSURL not being present >>>> in SwiftFoundation? >>>> >>>> /Daniel >>>> >>>> >>>> func getResourceValue(_ value: >>>> AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey key: String) throws >>>> >>>> _______________________________________________ >>>> swift-corelibs-dev mailing list >>>> swift-corelibs-dev@swift.org >>>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev >>> _______________________________________________ >>> swift-corelibs-dev mailing list >>> swift-corelibs-dev@swift.org >>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev >> > _______________________________________________ > swift-corelibs-dev mailing list > swift-corelibs-dev@swift.org > https://lists.swift.org/mailman/listinfo/swift-corelibs-dev _______________________________________________ swift-corelibs-dev mailing list swift-corelibs-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-corelibs-dev