为什么NSBundle API对文件扩展名有单独的“ofType”参数?

时间:2014-02-05 04:54:16

标签: cocoa bundle

NSBundle的[bundle pathForResource:@"example" ofType:@"jpg"]不像在任何其他编程系统中编写@"example.jpg"那样直观。这个API实现了什么(例如:通过文件扩展名索引的包内容?)?

2 个答案:

答案 0 :(得分:1)

你是对的,它不太直观,你可以随意使用它,两者都很好 不同之处在于您可以将此功能用于其他目的。 Apple的文档说如果'name'是空字符串或nil,它会返回遇到的第一个提供类型的文件。

作为一个例子,您可以通过使用空名称调用此函数来在用户界面项(NSTableView或其他)上提供默认图像...类似于“放置您可以找到的第一个.png图像”。

答案 1 :(得分:1)

意味着提供文件名(不带扩展名)作为资源参数,扩展名作为类型参数。不清楚API是否做了什么特别的事情(比如扩展索引)但它可能(实现细节),所以最好只是按预期使用它(在要求它查找资源时将文件名与扩展名分开)。