Ios Swift中的对象初始化
我有以下代码:Ios Swift中的对象初始化,ios,swift,object,Ios,Swift,Object,我有以下代码: var myBundle:NSBundle myBundle = NSBundle.mainBundle() // what is the role of this line ?? if let path = myBundle.pathForResource("CellDescriptor", ofType: "plist"){ var cellDescriptors: NSMutableArray! cellDescriptors = NSMutabl
var myBundle:NSBundle
myBundle = NSBundle.mainBundle() // what is the role of this line ??
if let path = myBundle.pathForResource("CellDescriptor", ofType: "plist"){
var cellDescriptors: NSMutableArray!
cellDescriptors = NSMutableArray(contentsOfFile: path)
}
为什么我要使用这行代码myBundle=NSBundle.mainBundle()
?我读到它正在初始化myBundle
对象。但这到底意味着什么
为什么不初始化myBundle
对象,就不能调用pathForResource
函数
谢谢。让我们一步一步地思考这一行:
myBundle = NSBundle.mainBundle()
您声明了类型为NSBundle的变量myBundle。现在需要使用适当的实例对象初始化这个变量。例如,您可以使用构造函数。但对于某些类,您有“静态构造函数”。如果您没有将变量设置为正确的对象,那么默认情况下它的值为零,所以您无法访问实例方法
NSBundle.mainBundle()
-下面是对NSBundle类的mainBundle方法(静态方法)的调用,该方法返回正确的实例(在本例中,它是应用程序的主捆绑包。从文档:
对应于要删除的捆绑包目录的NSBundle对象
包含当前可执行文件。此方法可能返回有效的捆绑包
对象,即使对于未绑定的应用程序也是如此。如果绑定
无法创建对象,因此请始终检查返回值
希望这有帮助。让我们一步一步地思考这一行:
myBundle = NSBundle.mainBundle()
您声明了类型为NSBundle的变量myBundle。现在您需要使用适当的实例对象初始化此变量。您可以使用例如构造函数。但对于某些类,您有“静态构造函数”。如果您没有设置适当的变量对象,则默认情况下它的值为零,因此您无法访问实例方法
NSBundle.mainBundle()
-下面是对NSBundle类的mainBundle方法(静态方法)的调用,该方法返回正确的实例(在本例中,它是应用程序的主捆绑包。从文档:
对应于要删除的捆绑包目录的NSBundle对象
包含当前可执行文件。此方法可能返回有效的捆绑包
对象,即使对于未绑定的应用程序也是如此。如果绑定
无法创建对象,因此请始终检查返回值
希望这能有所帮助。谢谢@Doro。你能告诉我将初始化什么
myBundle
,即我们实际上是想初始化什么吗?请耐心听我说,因为我是初学者。NSBundle类有许多创建bundle对象的方法,但你最常使用的方法是mainBundle方法。主bundle代表包含当前正在执行的代码的bundle目录。因此,对于应用程序,主bundle对象允许您访问应用程序附带的资源。@DShah,当然。我刚才解释了存在的代码,如问题所述。对不起,但我没有投反对票。我刚刚向@Pawandeep提供了ansSingh@DShah,@Doro我从你的评论中推断出的初始化myBundle
对象将授予对应用程序主捆绑包的访问权。但是,在编码中,它实际上意味着什么,它定义了变量、NSBundle类的指针,没有这些变量,您就无法访问定位资源吗?谢谢@Doro。您能告诉我将初始化什么myBundle
我们究竟在尝试初始化它什么?请耐心听我说,因为我是一个初学者。NSBundle类有许多创建bundle对象的方法,但您最常用的方法是mainBundle方法。mainBundle表示包含当前执行代码的bundle目录。因此,对于应用程序,mainBundle对象为您提供访问应用程序附带的资源。@DShah,当然。我只是解释了存在的代码,如问题所述。对不起,但我没有投反对票。我刚刚给@Pawandeep提供了ansSingh@DShah,@Doro我从您的评论中推断,初始化myBundle
对象将允许访问应用程序主捆绑包。但它在编码中的实际意义是什么?它是否定义了变量、NSBundle类的指针,如果没有这些变量,您将无法访问定位资源?请参阅:请参阅: