Xcode Objective-C错误需要一些帮助:)

好吧,一直试图弄清楚这一点有一段时间我已经设法把它归结为这3个错误,我一直在寻找修复,但没有任何工作,任何人都可以帮助我有了这个?Xcode Objective-C错误需要一些帮助:)

我试图编译的东西,这是它的一部分,这是我需要固定的所有工作,但我不知道该怎么办。

此外,这不是我的代码,如果你想看到原来按照链接归功于Hamzasood

Hamzasood custom watch face

我把错误的代码,以便寻找<旁边 - - //错误只有3

这里如下 1.OnozOmgEditingGuideView.h

文件

// 

// OnozOmgEditingGuideView.h

// CustomWatchFaceTest

//

// Created by Hamza Sood on 17/08/2015.

// Copyright © 2015 Hamza Sood. All rights reserved.

#import <UIKit/UIKit.h>

@class

@interface OnozOmgEditingGuideView : UIView { <---//expected identifier

UIView *_topView;

UILabel *_topLabel;

UIView *_bottomView;

UILabel *_bottomLabel;

}

@end

/*!

Set the color shown by the top view.

The new color to be displayed

*/

- (void)setTopColor:(UIColor *)color;

/*!

Set the color shown by the bottom view.

@param color

The new color to be displayed

*/

- (void)setBottomColor:(UIColor *)color; <---//missing content for method declaration

其缺少的内容和正在寻找的东西,但我不知道我真的很新。

2.OnozOmgEditingGuideView.m

// 

// OnozOmgEditingGuideView.m

// CustomWatchFaceTest

//

// Created by Hamza Sood on 17/08/2015.

// Copyright © 2015 Hamza Sood. All rights reserved.

//

#import "OnozOmgEditingGuideView.h"

@implementation OnozOmgEditingGuideView { <---//Expected Method Body

/*

Initial setup steps:

1. Create the views and their corresponding labels

2. Set the label text

3. Constrain the views

*/

- (instancetype)initWithFrame:(CGRect)frame {

if ((self = [super initWithFrame:frame])) {

// 1

__span UIView **viewsToCreate[] = { &_topView, &_bottomView };

__span UILabel **labelsToCreate[] = { &_topLabel, &_bottomLabel };

for (int i = 0; i < sizeof(viewsToCreate)/sizeof(UIView**); i++) {

UIView *view = [[UIView alloc]initWithFrame:CGRectZero];

[view setTranslatesAutoresizingMaskIntoConstraints:NO];

[self addSubview:view];

UILabel *label = [[UILabel alloc]initWithFrame:CGRectZero];

[label setTranslatesAutoresizingMaskIntoConstraints:NO];

[view addSubview:label];

NSLayoutAttribute labelAttributesToConstrain[] = { NSLayoutAttributeCenterX, NSLayoutAttributeCenterY };

for (int j = 0; j < sizeof(labelAttributesToConstrain)/sizeof(NSLayoutAttribute); j++) {

NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:label

attribute:labelAttributesToConstrain[j]

relatedBy:NSLayoutRelationEqual

toItem:view

attribute:labelAttributesToConstrain[j]

multiplier:1

constant:0];

[constraint setActive:YES];

}

*viewsToCreate[i] = view;

*labelsToCreate[i] = label;

}

// 2

[_topLabel setText:@"First Colour"];

[_bottomLabel setText:@"Second Colour"];

// 3

NSString *constraintsToAdd[] = {

@"H:|[_topView]|",

@"H:|[_bottomView]|",

@"V:|[_topView]-(0)-[_bottomView(==_topView)]|"

};

NSDictionary *constraintsViewsDictionary = NSDictionaryOfVariableBindings(_topView, _bottomView);

for (int i = 0; i < sizeof(constraintsToAdd)/sizeof(NSString*); i++) {

[NSLayoutConstraint activateConstraints:[NSLayoutConstraint constraintsWithVisualFormat:constraintsToAdd[i]

options:0

metrics:nil

views:constraintsViewsDictionary]];

}

}

return self;

}

@class

- (void)setTopColor:(UIColor *)color {

[_topView setBackgroundColor:color];

}

- (void)setBottomColor:(UIColor *)color {

[_bottomView setBackgroundColor:color];

}

@end

而这一次给出了预期的方法体

就像我说我不擅长这个,所以如果你能请帮助:)

回答:

在.h的顶部您有@class编译器指令,但未提供您正在声明的类的名称。 @class用于“转发声明”类,它告诉编译器“这个其他类将存在,所以不要抱怨不知道所有的细节。”由于您没有提供名称,因此编译器会感到困惑,因此您会在下一行看到错误。 @class又出于某种原因 Objective-C: @class Directive before @interface?

在你拥有的.m底部... 但错误似乎是因为你把一个开放的大括号{@implementation后未关闭: 看到这个问题直到所有的方法。那不应该在那里。如果要声明实例变量,则在@implementation之后使用花括号。这些方法不需要。

以上是 Xcode Objective-C错误需要一些帮助:) 的全部内容, 来源链接: utcz.com/qa/266694.html

回到顶部