iphone - 线程 1 : Program received signal: "EXC_BAD_ACCESS"

标签 iphone objective-c c object

我只是有一个简单的代码来练习Object C.. 我不确定为什么我可以这个“警告”? 我的代码在下面

#import <Foundation/Foundation.h>


@interface MyClass : NSObject {
@private
    NSDate *mdate;
}

@property (retain) NSDate *mdate;

@end

==================================

#import "MyClass.h"


@implementation MyClass

@synthesize mdate;

- (id)init
{
    self = [super init];
    if (self) {
        // Initialization code here.
        mdate = [[NSDate date] autorelease];
    }

    return self;
}

- (void)dealloc
{
    [super dealloc];
}

@end

=============================================

#import <Foundation/Foundation.h>
#import "MyClass.h"

int main (int argc, const char * argv[])
{

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    MyClass *mclass = [[MyClass alloc]init];
    NSDate *myBirthday;
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
    [dateFormat setDateFormat:@"yyyy/MM/dd"];
    myBirthday=[dateFormat dateFromString:@"1990/09/02"];

    [mclass setMdate:myBirthday];
    NSLog(@"My Birthday is %@",[mclass mdate]);
    // insert code here...
    NSLog(@"Hello, World!");

    [mclass release];
    //[dateFormat release];

    [pool drain];
    return 0;
}

在 [pool drain] 中 -> 我在运行后收到消息。

我真的是对象 C 的新手。有人可以解释一下我错过了什么吗? 我认为这会导致我的内存管理(?) 顺便说一句,我是为控制台写的。

最佳答案

Mdate 已发布。

一般来说,你的内存管理是相当错误的。阅读“Cocoa 内存管理指南”,因为它清楚地解释了相对简单的规则。

关于iphone - 线程 1 : Program received signal: "EXC_BAD_ACCESS",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6316003/

相关文章:

objective-c - 比写几十个空的 getter 更好的方法?

c - 无法理解获得相同结果的两组代码之间的差异

c - 需要在函数前加上 (void)

c - 读回 float

iphone - 将 CLLocation 或 CLLocationCoordinate2D 转换为 CGPoint

iphone - 从导航 Controller 中关闭推送的 View

iphone - 按手机联系人顺序在 UItableview 中显示联系人

iphone - 如何确定 UISearchDisplayController 是否为 searchResults TableView 可见?

objective-c - cocoa 内存管理问题

objective-c - 当 NSTextField 大小发生变化时,NSScrollView 中的位置错误