1

如果我们从 Apple API 键入一个方法,Xcode 将在自动完成弹出列表下方显示方法函数。但是键入用户定义的方法,它什么也没显示。

有没有办法告诉 Xcode 显示一些我自己定义的描述来展示如何使用用户定义的方法?

谢谢!!!


@有:

我按照你的指示直到第 12 步,并在 .h 文件中创建一个简单的测试类,如下所示:

#import <Foundation/Foundation.h>

@interface AMCAppleDocTest : NSObject
@property (nonatomic, retain) NSString *version;
+ (id) test;
/** @name Section title */
/** Method description */
- (void)doSomething;
@end

然后到第 13 步,我运行脚本,但出现如下图所示的错误:

我的 .sh 脚本:

#! /bin/sh
docsURL="http://www.AMC.com";
projectsPath="$2/../";
docsPath="/Users/AMC/Library/Developer/Documentations/$1";

# create AppleDocOutput folder if not exists
if [ ! -d $docsPath ];
then
mkdir "${docsPath}";
fi

/Users/AMC/Library/Developer/DocumentationStuff/appledoc \
--project-name "$1" \
--project-company "AMC" \
--company-id "com.AMC" \
--docset-atom-filename "$1.atom" \
--docset-feed-url "${docsURL}/%DOCSETATOMFILENAME" \
--output "/Users/AMC/Library/Developer/Documentations/$1" \
--docset-package-url "${docsURL}/%DOCSETPACKAGEFILENAME" \
--docset-fallback-url "${docsURL}/$1Doc/" \
--publish-docset \
--logformat xcode \
--keep-undocumented-objects \
--keep-undocumented-members \
--keep-intermediate-files \
--no-repeat-first-par \
--no-warn-invalid-crossref \
--ignore "*.m" \
--ignore "LoadableCategory.h" \
--index-desc "$2/readme.markdown" \
"$2" > "${docsPath}/AppleDoc.log"

和 .command 文件:

#!/usr/bin/osascript

tell application "Xcode"
    tell first project
        -- variables to export
        set projectName to (get name)
        set projectDir to (get project directory)
        set company to (get organization name)
        -- invoke script passing extracted variables
        do shell script ("sh /Users/AMC/Library/Developer/DocumentationStuff/appledoc.generate.sh " & projectName & " " & projectDir & " " & company)
    end tell
end tell

此外,我的 Xcode 版本是 4.5.1 和 OS X 10.8。

Xcode 没有安装到 /Applications 文件夹中,而只是放在桌面上。有关系吗?


@HAS,再次

我发现出了什么问题:脚本是 dos 格式的。我在 VI 中使用:set ff=unix解决了这个问题。现在一切都很完美:

4

1 回答 1

1

在我的旧答案中,我建议使用 appledoc(顺便说一句,这太棒了),但是对于您想要的,使用 Xcode 5 使用它的内置文档功能要容易得多(对于旧答案,请查看编辑历史记录)。

假设您有一个方法,例如:

- (NSString *)fooBar:(NSNumber *)foo bar:(NSArray *)bar {
    return @"FooBar!";
}

您需要添加的只是

/**
 *  This is a demo method
 *
 *  @param foo An NSNumber.
 *  @param bar An NSArray.
 *
 *  @return Returns the NSString "FooBar!"
 */
- (NSString *)fooBar:(NSNumber *)foo bar:(NSArray *)bar {
    return @"FooBar!";
}

键入方法时,您可以在弹出框底部看到信息

代码完成信息

如果您alt-单击该方法,您将获得所有信息:

通过 alt 键单击方法文档

如果你很懒(像我一样),可以看看名为VVDocumenter的精彩插件。使用该插件所要做的就是///在方法上方输入,它会自动为您生成文档结构。

只需下载、编译、复制并开始记录!感谢 onevcat 提供了这么棒的工具!

于 2013-04-25T07:40:18.917 回答