Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
@interface、@implementation&;在objective-c计划中组织的计划部分(以文件形式)?_Objective C - Fatal编程技术网

@interface、@implementation&;在objective-c计划中组织的计划部分(以文件形式)?

@interface、@implementation&;在objective-c计划中组织的计划部分(以文件形式)?,objective-c,Objective C,组织以下活动的理想方式是什么: #import <Foundation/Foundation.h> // ---- @interface section ---- @interface Fraction: NSObject -(void) print; -(void) setNumerator: (int) n; -(void) setDenominator: (int) d; @end // --- @impl

组织以下活动的理想方式是什么:

    #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;
    }
#导入
//---@接口部分----
@接口分数:NSObject
-(作废)打印;
-(void)集合分子:(int)n;
-(void)集合分母:(int)d;
@结束
//执行科---
@实现分数
{
整数分子;
整数分母;
}
-(作废)打印
{
NSLog(@“%i/%i”,分子,分母);
}
-(void)集合分子:(int)n
{
分子=n;
}
-(void)集合分母:(int)d
{
分母=d;
}
@结束
//--节目组--
int main(int argc,const char*argv[]
{
@自动释放池{
分数*frac1=[[分数分配]初始];
分数*frac2=[[Fraction alloc]init];
[frac1集合分子:2];
[frac1集合分母:3];
[frac1打印];
}
返回0;
}

我在问这个noob问题,因为在X-Code中有一个单独的课程规定,而我正在学习的书(使用objective-C编程)没有指定将哪一块代码放在哪里。

将@inteface部分放在一个.h文件中。@implementation进入一个.m文件


这可能在本书中有所解释,不过为了方便起见,列表通常是一个整体给出的。

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

实施偏差属于实施文件(*.m)中

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

// ---- @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中,只需导入头文件,代码就可以工作了…

c

  • .h:头文件、定义、声明变量方法等
  • .m:实现文件,所有方法实现都发生在这里
  • .xib:视图的Interface builder文件的nib文件 管理部分
  • 故事板:一种高级的笔尖形式,其中所有笔尖位于一个 作为不同场景的单个文件
  • 文件的.h@接口定义和.m@实现
  • main.m是代码逻辑的起点
正确的工作不需要不同的文件方案,一个包含所有这些的文件就可以完成这项工作