黑马程序员——IOS基础之OC---类使用的常见错误汇总

本文总结了Objective-C(OC)编程中关于类使用的一些常见错误,包括类声明与实现的规范、实例变量和方法的声明、初始化、方法调用等方面,帮助iOS开发者避免混淆并提升代码质量。
摘要由CSDN通过智能技术生成

———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———

             **类使用的常见错误汇总**

1.类的声明和实现中不允许包含嵌套

@interface Car : NSObject

//不允许这样嵌套,错误
@interface Dog:NSObject
@end

@end

@implementation Car

@end

2.不能用@implementation 去替换@interface

//@implementation不能替换@interface,会出现警告,不能这样写
@implementation Car : NSObject
{
    @public;
    int _lunzi;
}
@end

3.漏写end(初学者容易犯的错误)

@interface Car : NSObject
{
    @public;
    int _lunzi;
}
//漏写了end 错误
@implementation Car
//漏写了end错误

4.@interface和@implementation之间可以穿插类,即顺序可以打乱,但类的实现要在声明之后

@interface Car : NSObject
{
    @public;
    int _lunzi;
}
@end
//可以穿插其他类
@interface Dog:NSObject

@end
@implementation Dog

@end
//可以穿插类
@implementation Car

@end

5.实例变量没有写在{}之中

@interface Car : NSObject
{
    @public;
}
int _lunzi;//错误,实例变量没有写在{}之中
-(void)stop;
@end

@implementation Car
NSLog(@"车停了");
@end

6.方法的声明写在了{}之中

@interface Car : NSObject
{
    @public;
    int _lunzi;
    -(void)stop;//错误,方法的声明写在了{}之中
}
@end

@implementation Car
NSLog(@"车停了");
@end

7.声明实例变量是不能初始化实例变量的

@interface Car : NSObject
{
    @public;
    int _lunzi=3;//错误声明实例变量的时候不能初始化实例变量的值
}
-(void)stop;
@end

@implementation Car
NSLog(@"车停了");
@end

8.方法不能像函数那样调用

//函数的调用方法
stop();
//方法的调用方法
[car stop];

9.实例变量和方法不能用static等关键字修饰
注意:别和c语言混淆就好了
10.类的实现可以写在main函数之后

#import <Foundation/Foundation.h>


@interface Car : NSObject
{
    @public;
    int _lunzi;

}
-(void)stop;
@end
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Car *c=[Car new];
        c->_lunzi=4;
         NSLog(@"%d",c->_lunzi);
    return 0;
}
//方法的实现可以在main函数之后
@implementation Car
NSLog(@"车停了");
@end

11.方法定义了,没有在类的实现中实现

@interface Car : NSObject
{
    @public;
    int _lunzi=3;值
}
-(void)stop;
@end

@implementation Car
//方法定义了,但是没有在方法中实现,在调用方法的时候会报错
@end
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值