0

什么是组织以下程序的理想方式:

    #import <Foundation/Foundation.h>
    // ---- @interface section ----

    @interface Fraction: NSObject

    -(void) print;
    -(void) setNumerator: (int) n;
    -(void) setDenominator: (int) d;

    @end

    // --- @implementation section ---

    @implementation Fraction
    {
        int numerator;
        int denominator;
    }

    -(void) print
    {
        NSLog(@"%i/%i", numerator,denominator);
    }

    -(void) setNumerator:(int)n
    {
        numerator = n;
    }

    -(void) setDenominator:(int)d
    {
        denominator = d;
    }

    @end

    // -- Program section --

    int main(int argc, const char * argv[])
    {

        @autoreleasepool {

            Fraction *frac1 = [[Fraction alloc] init];
            Fraction *frac2 = [[Fraction alloc] init];

            [frac1 setNumerator: 2];
            [frac1 setDenominator: 3];

            [frac1 print];

        }
        return 0;
    }

我在问这个菜鸟问题,因为在 X-Code 中,有一个规定可以让你的课程分开,而我正在学习的书(使用 Objective-C 编程)没有指定将哪个代码块放在哪里。

4

4 回答 4

0

@inteface 部分进入一个 .h 文件。@implementation 进入一个 .m 文件。

这可能在书中进行了解释,尽管为方便起见,列表通常是一体的。

于 2013-07-23T12:05:25.580 回答
0

接口声明属于头文件 (*.h)。

实施声明属于实施文件 (*.m)。

您可以将接口声明添加到您的实现文件中,但这将是私有声明。

于 2013-07-23T12:05:30.903 回答
0
// ---- @interface section ----

    @interface Fraction: NSObject

    -(void) print;
    -(void) setNumerator: (int) n;
    -(void) setDenominator: (int) d;

    @end

进入类头文件。

// --- @implementation section ---

@implementation Fraction
{
    int numerator;
    int denominator;
}

-(void) print
{
    NSLog(@"%i/%i", numerator,denominator);
}

-(void) setNumerator:(int)n
{
    numerator = n;
}

-(void) setDenominator:(int)d
{
    denominator = d;
}

@end

进入类实现文件

// -- Program section --

int main(int argc, const char * argv[])
{

    @autoreleasepool {

        Fraction *frac1 = [[Fraction alloc] init];
        Fraction *frac2 = [[Fraction alloc] init];

        [frac1 setNumerator: 2];
        [frac1 setDenominator: 3];

        [frac1 print];

    }
    return 0;
}

进入 main.m

我的建议是在您的项目中添加一个新文件,该文件类型为 Objective-C 类。然后在你的头文件中,复制头文件代码,在你的实现中,复制实现文件代码。然后在您的 main.m 中,只需导入头文件即可让您的代码正常工作...

于 2013-07-23T12:05:42.323 回答
0

目标c

  • .h:头文件,定义,声明变量方法等
  • .m : 实现文件,所有方法的实现都在这里
  • .xib :视图管理部分的接口构建器文件的 nib 文件
  • 故事板:高级形式的笔尖,其中所有笔尖在一个文件中作为不同的场景
  • .h @interface 文件的定义和 .m @implementation
  • main.m 代码逻辑的起点。

正常工作不一定需要不同的文件方案,包含所有这些的单个文件可以完成工作

于 2013-07-23T12:06:35.993 回答