微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

目标C的布尔性质和记忆力

如何解决目标C的布尔性质和记忆力

| 如何将公共布尔属性添加到位置模型?例如:
location.has_lights = YES;
我不太明白为什么我需要保留Nsstring,但是IDE尝试保留布尔值时却显示错误。 这段代码产生一个\'EXC_BAD_ACCESS \' RKLocation.h
#import <RestKit/RestKit.h>
@interface RKLocation : RKObject {
    Nsstring *_name;
    bool has_lights;
}
@property (nonatomic,retain) Nsstring *name;
@property (nonatomic) bool has_lights;
@end
RKLocation.m
#import \"RKLocation.h\"
@implementation RKLocation
@synthesize name = _name;
@synthesize has_lights;
- (void)dealloc {
    [_name release];
    [super dealloc];
}
@end
    

解决方法

        尝试使用BOOL代替bool。 几分钟前提出的这个问题也可能有帮助: Objective-C布尔值的解除分配     ,        布尔不是对象类型,而是标量,因此您不能保留/释放它。     ,        NSString是一个对象。它存储在堆中。 布尔值不是对象,而是通常存储在堆栈中的标量数据类型。 您不需要保留它。 保留在objectiveC中告诉运行时“仍然需要指针指向的对象,请不要删除它”。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。