Swift 重写init(){}正在循环中运行
我在循环中运行的Swift 重写init(){}正在循环中运行,swift,xcode6-beta6,Swift,Xcode6 Beta6,我在循环中运行的重写init(){}方法时遇到问题。直到它使用exc\u bad\u访问崩溃 override init() { super.init() self.container = UIView() self.container.clipsToBounds = false println("self.container: \(self.container)") self.addSubview(self.container) self.c
重写init(){}
方法时遇到问题。直到它使用exc\u bad\u访问崩溃
override init() {
super.init()
self.container = UIView()
self.container.clipsToBounds = false
println("self.container: \(self.container)")
self.addSubview(self.container)
self.contentCenter = CGPointZero
self.contentScale = 1
refreshContentTransform()
self.panRecognizer = UIPanGestureRecognizer(target: self, action: Selector("handlePan:"))
self.panRecognizer.maximumNumberOfTouches = 1
self.panRecognizer.minimumNumberOfTouches = 1
self.addGestureRecognizer(self.panRecognizer)
self.pinchRecognizer = UIPinchGestureRecognizer(target: self, action: Selector("handlePinch:"))
self.addGestureRecognizer(self.pinchRecognizer)
}
触发因素是什么
在调用这个类init之前。通过var item=MyVar()
用断点跟踪。它永远不会离开初始状态,并且以某种方式继续循环/
我希望有人能给我一些建议。谢谢。看起来你的问题的一部分在你的代码块中结束了,读了你的问题后,你不太清楚你在问什么。你应该再看一次,看看你是否能澄清一下。我更新了我的帖子。就这样。。这应该像self=[super init];如果(self){//code here}返回self;但在swift self中,它是只读的。所以我很难获得相同的输出。谢谢你的回复,顺便说一句。你发布的代码没有问题。你能展示你正在谈论的循环吗?
refreshContentTransform()
做什么?func refreshContentTransform(){var transform:cgaffinetTransform=cgaffinetTransformIdentity transform=cgaffinetTransformTransformTransformTransform(transform,self.contentCenter.x,self.contentCenter.y)transform=cgaffinetTransformScale(transform,self.contentScale,self.contentScale);self.container.transform=transform println(“transform(transform)”)}..我的错误。这是一个解决方法,上面的代码已经被修改。我想我已经在init中调用了它的类名,而不是self。现在我在从nib文件初始化self时遇到了问题。