Cocoa 为什么NSBundle API有一个单独的;ofType";文件扩展名的参数?

Cocoa 为什么NSBundle API有一个单独的;ofType";文件扩展名的参数?,cocoa,bundle,Cocoa,Bundle,NSBundle的[bundle pathForResource:@“example”of type:@“jpg”]不如在任何其他编程系统中编写@“example.jpg”直观。这个API实现了什么(例如:捆绑包内容是否按文件扩展名编制索引?)你说得对,它不那么直观,而且你可以像你提到的那样使用它,两者都很好。 不同之处在于,您可以将此函数用于其他目的。苹果的文档说,如果“name”是空字符串或nil,它将返回所提供类型的第一个文件 例如,您可以通过使用空名称调用此函数,在用户界面项(NSTab

NSBundle的
[bundle pathForResource:@“example”of type:@“jpg”]
不如在任何其他编程系统中编写
@“example.jpg”
直观。这个API实现了什么(例如:捆绑包内容是否按文件扩展名编制索引?)

你说得对,它不那么直观,而且你可以像你提到的那样使用它,两者都很好。
不同之处在于,您可以将此函数用于其他目的。苹果的文档说,如果“name”是空字符串或nil,它将返回所提供类型的第一个文件

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

您需要提供文件名(不带扩展名)作为资源参数,扩展名作为类型参数。目前尚不清楚API是否有任何特殊功能(如按扩展名索引),但它可能(实现细节),因此最好按预期使用它(在要求它查找资源时,将文件名与扩展名分开)