Question: I am trying to compare data that I get from two different methods: the first one from an instance method, and the second from a class method. I get one incomprehensible warning and one error.

**This is the interface:**

```
@interface RadioStation : NSObject {

NSString *name;
double frequency;
char band;

}
+(double) maxFMFrequency;
-(void) chackFrequency;

@end

```

**This is the implementation:**

```
@implementation RadioStation

+(double) maxFMFrequency {

return 107.9;
}
-(void) chackFrequency {

    switch (band) {
        case 'F':
            if (self.frequency > [[self RadioStation] maxFMFrequency] ) //  in this line i get the warning and the error massage
                frequency=107.9;
            break;

@end

```

And this is the **warning** I get:

`instance method '-RadioStation' not found (return type defaults to 'id')`

And when I build and run the program I get the **error**:

`Thread 1: signal SIGABRT`

Does anyone know what I am doing wrong?

Thanks!

Answer: 
Should read:

```
if (self.frequency > [RadioStation maxFMFrequency] )

```

Self is not needed to address the class, if addressed by name. If you want to reference self you could use:

```
if (self.frequency > [[self class] maxFMFrequency] )

```
Perhaps your error is as follows:

```
[[self RadioStation] maxFMFrequency]

```

change it with

```
[RadioStation maxFMFrequency]

```