Iphone NSDate已自动发布,导致错误的exe错误。苹果手机
我花了一整天的时间写这篇文章,反复写了很多次,试图让我的头脑清醒过来 我在标题中声明了一组日期Iphone NSDate已自动发布,导致错误的exe错误。苹果手机,iphone,release,nsdate,retain,Iphone,Release,Nsdate,Retain,我花了一整天的时间写这篇文章,反复写了很多次,试图让我的头脑清醒过来 我在标题中声明了一组日期 @property (nonatomic, retain)NSDate *time; 在视图加载时,我从数据库中读取字符串,将其转换为日期并将其设置为此变量 NSDateFormatter *dateFormatter =[[[NSDateFormatter alloc] init] autorelease]; [dateFormatter setDateFormat:@"dd / MMMM / y
@property (nonatomic, retain)NSDate *time;
在视图加载时,我从数据库中读取字符串,将其转换为日期并将其设置为此变量
NSDateFormatter *dateFormatter =[[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"dd / MMMM / yyyy"];
time=[dateFormatter dateFromString:datetime];
如果输入NSLog time,则会得到预期的日期(尽管格式不正确)。如果我在视图中进一步使用NSDate,我会得到一个错误的Exe,或者由于时间=到零而导致的错误
我不明白这几乎就像它没有保留它一样
在解决问题时,我在iAction中创建了一个新的日期,并尝试复制上面的代码,但在需要的地方,我遇到了相同的问题。我假设这是dateformat问题,但我将其格式化,与最初编写为字符串的方式相同
我做错了什么?我再也受不了这件事了
欢呼
Dan您需要使用:
self.time=[dateFormatter dateFromString:datetime]代码>您需要使用:self.time=[dateFormatter dateFromString:datetime]代码>问题是,您没有设置属性<代码>时间
没有使用点符号。您必须将其写为(假设属性存在于self上),它是以下两种方式之一:
self.time = [dateFormatter dateFromString:datetime];
或
问题是,您没有设置属性<代码>时间
没有使用点符号。您必须将其写为(假设属性存在于self上),它是以下两种方式之一:
self.time = [dateFormatter dateFromString:datetime];
或
您需要将属性设置为
self.time=[dateFormatter dateFromString:datetime]
或[自设置时间:[dateFormatter dateFromString:dateTime]]
如果只使用=而不使用self分配它,它将不会保留它,它只会转移指针。使用点运算符将使其保留。您需要将属性设置为
self.time=[dateFormatter dateFromString:datetime]
或[自设置时间:[dateFormatter dateFromString:dateTime]]
如果只使用=而不使用self分配它,它将不会保留它,它只会转移指针。使用点运算符将使其保留。您需要使用
self.time = [dateFormatter dateFromString:datetime];
否则它不会被保留您需要使用
self.time = [dateFormatter dateFromString:datetime];
否则它不会被保留尝试使用self.time,这将通过生成的setter方法保留日期,此时您只需将其分配给实例变量。尝试使用self.time,这将通过生成的setter方法保留日期,目前您只是将其分配给实例变量。Wow-1分钟内有四个几乎相同的答案:-)Wow-1分钟内有四个几乎相同的答案:-)非常感谢。这件事很简单。这也是为什么的原因!非常感谢,非常感谢。这件事很简单。这也是为什么的原因!非常感谢。
NSDateFormatter *dateFormatter =[[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"dd / MMMM / yyyy"];
time=[dateFormatter dateFromString:datetime];