黑马程序员技术交流社区
标题: 关于引用计数器的问题 [打印本页]
作者: 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 |