我在弄清楚苹果教程中这个函数的含义时遇到了一些困难:
[[MyViewController alloc] initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle]]我的问题是:在MyViewController之前,"@“代表什么?
另外,当我在学习this教程时,我想知道:在我的项目中有几个nibs :自动生成的MainWindow.xib和MyViewController.xib -我想知道:如果我只需要一个,为什么我会有两个呢?
提前感谢!
发布于 2011-06-03 17:46:43
字符串文字前的@-符号表示该字符串是NSString的实例。
@"Hello" <-- NSString object
"Hello" <-- Null-terminated char array (C-string)你甚至可以向它发送消息:
[@"Hello" stringByAppendingString:@" World!"]您将比C字符串更频繁地使用NSString对象。
如果您希望将C字符串转换为NSString对象(例如,如果您使用的是返回此类字符串的C库),则可以使用以下命令:
char *myCstring = "Hello, World!";
NSString *myString = [NSString stringWithUTF8String:myCstring];关于两个笔尖:实际上你根本不需要任何笔尖,但苹果喜欢使用只有一个窗口的笔尖来降低性能。我不知道他们为什么要这样做,但你可以用代码创建一个窗口,只需要一行代码,编译和运行速度会快得多。
在您的applicationDidFinishLaunching:方法中:
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.rootViewController = [[[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil] autorelease];
// now you can remove the MainWindow.xib nib.就我个人而言,我更喜欢不使用nib,但这是一个人自己的选择。
https://stackoverflow.com/questions/6225434
复制相似问题