
我的印象是,为了让某人能够使用Objective-C中某个类的方法,你首先需要实例化它,比如…
Classsname *varname = [[Classname alloc]init];
然后你会调用像……这样的方法
[varname someMethod];
但是看看如何使用Nsstring我现在有点困惑,例如这里我们通常会如何使用它…
Nsstring *someString = @"some text here";[someString stringByAppendingFormat: @"some text = %d",3];
按照我所读到的关于类的内容,我们需要做类似以下的事情.
Nsstring *someString = [[Nsstring alloc]initWithString: @"some text here"];[someString stringByAppendingFormat: @"some text = %d",3];
有人可以解释为什么有些类在使用其方法之前不需要实例化吗?
解决方法 Objective-C知道一些称为文字的缩写.编译器知道特殊符号.字符串文字被编译到二进制文件中并在应用程序的整个生命周期中退出.对于大多数情况,它的行为类似于在运行时创建的对象.
>如果两个文字相同,则只创建一个对象并永远存在
>如果你创建Nsstring * string = [[Nsstring alloc] initWithString:@“My String”]; @“My String”被用作文字之前,字符串也可以指向它.
由于Apple LLVM Compiler 4.0 Objective-C知道一些more literals.但与字符串文字形成对比,这些文字是在运行时通过方便的初始化器创建的.
注意
[someString stringByAppendingFormat: @"some text = %d",3];
不会改变someString.它返回一个新的字符串对象.
Nsstring *newString = [someString stringByAppendingFormat: @"some text = %d",3];总结
以上是内存溢出为你收集整理的了解Objective-C中的实例化全部内容,希望文章能够帮你解决了解Objective-C中的实例化所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)