作者:小峰哥2502868817 | 来源:互联网 | 2023-07-28 17:19
Whydoesthiscodecrashin64bit?-Itworksfine32bit.为什么这个代码在64位崩溃?-它工作正常32位。Itsloading
Why does this code crash in 64 bit? - It works fine 32 bit.
为什么这个代码在64位崩溃? - 它工作正常32位。
It's loading a nib for a UIView
它正在为UIView加载一个笔尖
- (id) awakeAfterUsingCoder:(NSCoder*)aDecoder {
BOOL theThingThatGotLoadedWasJustAPlaceholder = ([[self subviews] count] == 0);
if (theThingThatGotLoadedWasJustAPlaceholder) {
ALTimelineView* theRealThing = [[self class] loadFromNib];
// pass properties through
theRealThing.frame = self.frame;
theRealThing.autoresizingMask = self.autoresizingMask;
theRealThing.alpha = self.alpha;
theRealThing.hidden = self.hidden;
[theRealThing internalInit];
// convince ARC that we're legit
CFRelease((__bridge const void*)self);
CFRetain((__bridge const void*)theRealThing);
return theRealThing;
}
return self;
}
loadFromNib
loadFromNib
+ (id) loadFromNib {
NSString* nibName = NSStringFromClass([self class]);
NSArray* elements = [[NSBundle mainBundle] loadNibNamed:nibName owner:nil options:nil];
for (NSObject* anObject in elements) {
if ([anObject isKindOfClass:[self class]]) {
return anObject;
}
}
return nil;
}
The error I'm getting is EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
我得到的错误是EXC_BAD_ACCESS(代码= EXC_I386_GPFLT)
1 个解决方案