A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jingkai 中级黑马   /  2015-5-14 08:30  /  909 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天复习到引用计数器那一块 按照老师讲的东西编代码 可是总是有一大堆莫名其妙的错误,程序也运行不了。以下是代码:声明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;
}

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

6 个回复

倒序浏览
....你难道没看你的错误信息吗!!!你的对象是大写P,调用方法是小写p!!
错误信息写的很明显,没有找到P.
回复 使用道具 举报
@property 会屏蔽内存的细节,换成{ int _age;}
回复 使用道具 举报
@property 会屏蔽内存的细节,换成{ int _age;   NSString *_name},再写相应的setter和getter方法,就可以了
回复 使用道具 举报
@property 会屏蔽内存的细节,换成{ int _age;   NSString *_name},再写相应的setter和getter方法,就可以了
回复 使用道具 举报
@property 会屏蔽内存的细节,换成{ int _age;   NSString *_name},再写相应的setter和getter方法,就可以了
回复 使用道具 举报
@property 会屏蔽内存的细节,默认情况下是直接赋值的。


删掉@property,换成{ int _age;   NSString *_name},再写相应的setter和getter方法,就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马