2016-07-27 68 views
0

我有一个Menu.xib与5 UIButtons。我在一个按钮IBAction的ViewController中调用这个视图。当我尝试运行我的代码编译器随机抛出:Swift /菜单(查看)导致随机“命令失败,由于信号:分割错误:11”

分段故障:11

当我的评论我的代码或随机的某些部分,如:menuView.locationBtn.addTarget(self, action: #selector(HomeVC.goLocation), forControlEvents: .TouchUpInside)代码可能工作也可能不会。随机。我从一段时间以来一直在这个错误,并找不到问题。

@IBAction func menuBtn(sender: AnyObject) { 

    let menuView = (NSBundle.mainBundle().loadNibNamed("Menu", owner: self, options: nil).last) as! Menu 

    menuView.frame = CGRectMake(0, self.view.bounds.size.height, self.view.bounds.size.width, 100) 

    menuView.homeBtn.addTarget(self, action: #selector(HomeVC.goHome), forControlEvents: .TouchUpInside) 
    menuView.bookmarkBtn.addTarget(self, action: #selector(HomeVC.goBookmark), forControlEvents: .TouchUpInside) 
    menuView.locationBtn.addTarget(self, action: #selector(HomeVC.goLocation), forControlEvents: .TouchUpInside) 
    menuView.photoBtn.addTarget(self, action: #selector(HomeVC.goPhoto), forControlEvents: .TouchUpInside) 
    menuView.friendsBtn.addTarget(self, action: #selector(HomeVC.goFriends), forControlEvents: .TouchUpInside) 
    menuView.settingsBtn.addTarget(self, action: #selector(HomeVC.goSettings), forControlEvents: .TouchUpInside) 

    self.view.addSubview(menuView) 

    UIView.animateWithDuration(0.6, delay: 0, usingSpringWithDamping: 0.5, initialSpringVelocity: 0.8, options: .CurveEaseInOut, animations: {() -> Void in 
     var newMenuFrame = menuView.frame 
     newMenuFrame.origin.y = self.view.bounds.size.height - 63 
     menuView.frame = newMenuFrame 
     self.view.layoutIfNeeded() 

    }) { (success) -> Void in 

     let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(HomeVC.hideOnTap(_:))) 
     gestureRecognizer.numberOfTapsRequired = 1 
     gestureRecognizer.delegate = self 
     gestureRecognizer.cancelsTouchesInView = false 
     self.view.addGestureRecognizer(gestureRecognizer) 
    } 
} 

func goHome() { 
    print("home") 
} 


func goBookmark() { 
    print("bookmark") 
} 

func goLocation() { 
    print("location") 
} 

func goPhoto() { 
    print("photo") 
} 

func goFriends() { 
    print("friends") 
} 

func goSettings() { 
    print("settings") 
} 

func hideOnTap(recognizer: UITapGestureRecognizer) { 
    self.view.viewWithTag(5)?.removeFromSuperview() 
} 

当我去掉整个代码一切工作正常。我已经做了在其他项目类似的东西往往没有任何问题...帮助是非常赞赏...

编译器消息:

0 swift     0x000000010c3ea66b llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 43 
    1 swift     0x000000010c3e9956 llvm::sys::RunSignalHandlers() + 70 
    2 swift     0x000000010c3eaccf SignalHandler(int) + 287 
    3 libsystem_platform.dylib 0x00007fff932ba52a _sigtramp + 26 
    4 libsystem_platform.dylib 0x0000000000020000 _sigtramp + 1825987312 
    5 swift     0x000000010a5581a8 swift::ModuleFile::getType(llvm::Fixnum<31u, unsigned int>) + 872 
    6 swift     0x000000010a558f53 swift::ModuleFile::getType(llvm::Fixnum<31u, unsigned int>) + 4371 
    7 swift     0x000000010a558e44 swift::ModuleFile::getType(llvm::Fixnum<31u, unsigned int>) + 4100 
    8 swift     0x000000010a554d53 swift::ModuleFile::getDecl(llvm::Fixnum<31u, unsigned int>, llvm::Optional<swift::DeclContext*>) + 16259 
    9 swift     0x000000010a55793f swift::ModuleFile::maybeReadPattern() + 575 
    10 swift     0x000000010a557a92 swift::ModuleFile::maybeReadPattern() + 914 
    11 swift     0x000000010a55382e swift::ModuleFile::getDecl(llvm::Fixnum<31u, unsigned int>, llvm::Optional<swift::DeclContext*>) + 10846 
    12 swift     0x000000010a55baa9 swift::ModuleFile::readMembers(llvm::SmallVectorImpl<swift::Decl*>&) + 249 
    13 swift     0x000000010a55dfbe swift::ModuleFile::loadAllMembers(swift::Decl*, unsigned long long) + 206 
    14 swift     0x000000010a89d43c swift::NominalTypeDecl::getMembers(bool) const + 28 
    15 swift     0x000000010a83e3f7 (anonymous namespace)::Traversal::visitNominalTypeDecl(swift::NominalTypeDecl*) + 247 
    16 swift     0x000000010a83a266 (anonymous namespace)::Traversal::doIt(swift::Decl*) + 230 
    17 swift     0x000000010a83a16b swift::Decl::walk(swift::ASTWalker&) + 27 
    18 swift     0x000000010a3b13ab swift::ClassHierarchyAnalysis::init() + 155 
    19 swift     0x000000010a3a8ef1 swift::createClassHierarchyAnalysis(swift::SILModule*) + 129 
    20 swift     0x000000010a42108d swift::SILPassManager::SILPassManager(swift::SILModule*, llvm::StringRef) + 317 
    21 swift     0x000000010a4290c6 swift::runSILDiagnosticPasses(swift::SILModule&) + 118 
    22 swift     0x000000010a13d457 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&) + 12903 
    23 swift     0x000000010a13968d frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2781 
    24 swift     0x000000010a1350ac main + 1932 
    25 libdyld.dylib   0x00007fff918085ad start + 1 
    26 libdyld.dylib   0x000000000000007a start + 1853848270 
    Stack dump: 

bla bla unreadable crap 

1. While loading members for 'HomeVC' at <invalid loc> 
2. While deserializing decl #173 (PATTERN_BINDING_DECL) 
3. While deserializing decl #10 (VAR_DECL) 

回答

0

我能够用“荚更新”完全解决。我会离开它,以防有人遇到同样的问题。

它给我带来了下一个问题。我的桥接头不再工作了。我必须使用CMD + ALT + SHIFT + K清理项目(非常重要,请使用ALT来清洁它,,通常的清理没有效果!),然后再次运行pod安装。现在一切都恢复正常了。

相关问题