黑马程序员技术交流社区

标题: 关于引用计数器的问题 [打印本页]

作者: jingkai    时间: 2015-5-14 08:30
标题: 关于引用计数器的问题
今天复习到引用计数器那一块 按照老师讲的东西编代码 可是总是有一大堆莫名其妙的错误,程序也运行不了。以下是代码:声明Person类
#import <Foundation/Foundation.h>
@interface Person : NSObject
@property int age;
@property NSString * name;
@end
实现
#import "Person.h"

@implementation Person
-(void )dealloc
{
    NSLog(@"Person-------dealloc");
    [super dealloc];

}

@end
main函数



//
//  main.m
//  计数器
//
//  Created by 静静静 on 15/5/14.
//  Copyright (c) 2015年 静静静. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Person *P = [[Person alloc]init];
        [p retain];
        [p release];
        p.age = 20;
        p.name=@"jingjingjing";
        [p release];


    }
    return 0;
}

求解到底是怎么回事,反复检查了好多遍老师写的代码,有很多甚至是我照抄的 可是还是有错误,郁闷

作者: 丶浩浩丶    时间: 2015-5-14 22:41
....你难道没看你的错误信息吗!!!你的对象是大写P,调用方法是小写p!!
错误信息写的很明显,没有找到P.

作者: CornerFly    时间: 2015-5-15 21:48
@property 会屏蔽内存的细节,换成{ int _age;}
作者: CornerFly    时间: 2015-5-15 21:49
@property 会屏蔽内存的细节,换成{ int _age;   NSString *_name},再写相应的setter和getter方法,就可以了
作者: CornerFly    时间: 2015-5-15 21:52
@property 会屏蔽内存的细节,换成{ int _age;   NSString *_name},再写相应的setter和getter方法,就可以了
作者: CornerFly    时间: 2015-5-15 21:53
@property 会屏蔽内存的细节,换成{ int _age;   NSString *_name},再写相应的setter和getter方法,就可以了
作者: CornerFly    时间: 2015-5-15 21:56
@property 会屏蔽内存的细节,默认情况下是直接赋值的。


删掉@property,换成{ int _age;   NSString *_name},再写相应的setter和getter方法,就可以了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2