代码之家  ›  专栏  ›  技术社区  ›  FreakyAli

找不到Xamarin iOS NSSearchPathForDirectoriesInDomains

  •  -1
  • FreakyAli  · 技术社区  · 7 年前

    正在编写一些Xamarin.iOS代码来创建目录搜索路径列表。

     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
    

    我意识到 NSSearchPathForDirectoriesInDomains 在Xamarin iOS中是不可用的,首先,我以为我做错了什么,但后来我搜索了一下,发现与Xamarin没有任何关系。iOS中是否有C#等价物 NSSearchPathForDirectoriesInDomains目录 我不知道的?或者我到底错过了什么?

    到目前为止,我的C代码:

    NSArray paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true);
    

    对此没有可用的快速操作。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Michał Å»ołnieruk    7 年前

    GetDirectories 它使用了您所追求的objc方法:

    public static class NSSearchPath
    {
        public static string[] GetDirectories (NSSearchPathDirectory directory, NSSearchPathDomain domainMask, bool expandTilde = true)
        {
            return NSArray.StringArrayFromHandle (NSSearchPathForDirectoriesInDomains ((nuint)(ulong)directory, (nuint)(ulong)domainMask, expandTilde));
        }
    
        [DllImport (Constants.FoundationLibrary)]
        static extern IntPtr NSSearchPathForDirectoriesInDomains (nuint directory, nuint domainMask, bool expandTilde);
    }
    

    string[] directories = NSSearchPath.GetDirectories(NSSearchPathDirectory.UserDirectory, NSSearchPathDomain.All);
    
    推荐文章