Xode 4.5 Hello World示例不起作用

时间:2012-10-12 08:06:50

标签: macos xcode4.5

我几乎是一个XCode初学者,因此我尝试了XCode文档中给出的“Hello World”示例:快速入门指南:Tutorial: Using Xcode to Write “Hello, World!” for OS X

我正在使用XCode 4.5.1,我使用OS 10.8.2从我的文档中获取此示例。我按照指示行事;这个例子不起作用。它产生了窗口而不是“hello world”打印。相关代码是:

- (void)drawRect:(NSRect)dirtyRect
{
    // Drawing code here.
    NSString *hello = @"Hello, World!";
    NSPoint point =NSMakePoint(15, 75);

    NSMutableDictionary *font_attributes = [[NSMutableDictionary alloc] init];
    NSFont *font = [NSFont fontWithName:@"Futura-MediumItalic" size:42];
    [font_attributes setObject:font forKey:NSFontAttributeName];

    [hello drawAtPoint:point withAttributes:font_attributes];

    [font_attributes release];
}

有两个值得注意的事情。此代码的最后一行给出了错误:

release is unavailable: not available in automatic reference counting mode

所以我评论了这一行并运行了该程序。窗口出现了,但没有“Hello World”。 All Output中出现了一条长消息,其中一部分内容为:

"/Users/me/Library/ScriptingAdditions/YouHelper.osax/Contents/MacOS/YouHelper: no matching architecture in universal wrapper
Hello: OpenScripting.framework - scripting addition "/Users/me/Library/ScriptingAdditions/YouHelper.osax" declares no loadable handlers."

我做的事情是愚蠢的,还是我使用了错误的例子?

2 个答案:

答案 0 :(得分:2)

您必须在代码末尾删除[font_attributes release];。 ARC(自动引用计数)中不提供releaseretainallocdealloc。这就是错误所说的。 对于第二个错误,您应该删除任何涉及AppleScript和类似脚本插件的应用程序。

答案 1 :(得分:0)

没有看到你的项目,很难找出它的错误。我的猜测是:你忘了在IB中指定自定义视图的类(“设计用户界面”中的步骤12)。