Expected ':' Lexical or Preprocessor error

2019-09-22 06:55发布

问题:

Well this should be a pretty quick and easy question. I am creating a scrollview and i have it all done, but there is an error that i just dont understand it! like its just confusing and doesnt make sense to me!

THE ERROR: // Expected ':'

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController{

}
@property (weak, nonatomic) IBOutlet UIScrollView *ScrollView;

@end

ViewController.m

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];
[self ScrollView setScrollEnabled YES]    // Expected ':'
[self ScrollView setContentSize: CGSizeMake(320, 900)]
}

EDIT: I did all of this and it just says expected identifier.

[super viewDidLoad];
[self.ScrollView setScrollEnabled: YES];
[[self.ScrollView setContentSize: CGSizeMake(320, 900)]];    //expected identifier

回答1:

It looks like you are missing a colon, a couple of dots, and a couple of semicolons:

[self.ScrollView setScrollEnabled:YES];
//   ^                           ^    ^
[self.ScrollView setContentSize:CGSizeMake(320, 900)];
//   ^                                                ^

You need to watch out for these small elements of the syntax - Objective C does not tolerate deviations. The worst part about syntax errors is that you often get a report pointing to a wrong line.



回答2:

There are quite a few problems with that line.

[self.ScrollView setScrollEnabled: YES];
     ^                           ^     ^
     ^
//I've assumed this was supposed to be either self.ScrollView or _ScrollView
//I can't tell if you are using a custom getter.


回答3:

[[self.ScrollView setContentSize: CGSizeMake(320, 900)]];
^                                                      ^
|                                                      |

Remove these two.