2015-01-19 2 views
-1

이것은 내 첫 번째 질문 (그리고 정직한 Xcode의 프로그램)입니다. 그래서 형식 규칙 등을 어기면 사과드립니다!스레드 1 : SIGABRT

추후 계산기에서 나중에 사용할 영역 계산기를 만들 때 찾을 수있는 모든 SIGABRT 스레드를 살펴본 결과 문제를 해결할 수 없었습니다.

import UIKit 
class ViewController: UIViewController{ 
@IBOutlet weak var forename: UITextField! 
@IBOutlet weak var surname: UITextField!  
@IBOutlet weak var email: UITextField!  
@IBOutlet weak var widthInput: UITextField! 
@IBOutlet weak var lengthInput: UITextField!  
@IBOutlet weak var areaOutput: UILabel!  
@IBOutlet weak var perimeterOutput: UILabel!  
@IBOutlet weak var results: UILabel! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

@IBAction func calculate(sender: AnyObject) { 

    let width = NSString(string: widthInput.text).doubleValue 
    let length = NSString(string: lengthInput.text).doubleValue 

    // The calculation used to work out the area of a room 
    var area = width * length 
    areaOutput.text = "\(area)" 

    // The calculation used to work out the perimeter of a room 
    var perimeter = 2 * (length + width) 
    perimeterOutput.text = "\(perimeter)" 


} 

어떤 도움을 주시면 감사하겠습니다.

감사합니다, 마크 중단 점 네비게이터에

+3

어떤 라인에 예외 사항을 게시 하시겠습니까? – Miknash

+0

내 빠른 quess IBAction func 아래의 코드의 첫 번째 줄에 귀하의 코드 braks입니다 ...이 이유는 귀하의 widthInput 또는 다른 TextField 개체가 nil이며 nil에 대해 확인하지 않는 것일 수 있습니다. widthInput 일 필요는 없으며, lenghtInput 또는 다른 요소가 될 수 있습니다. 텍스트 필드가 비어있을 수 있기 때문에 (편집되지 않은) .text 속성은 nil이며 nil이 아닌 NSString 인 것처럼 액세스하려고합니다. 가장 빠른 방법은 모든 코드에 주석을 달고 테스트하는 것입니다. 작동한다면 버그는이 함수의 어딘가에 있습니다. –

+0

죄송합니다. 많은 시간을 보내고 돌아 오실 기회가 없었습니다! http://i.imgur.com/Sn7yTsc.png 그게 무슨 일이 일어나는지 설명하는 데 도움이 될지 모르겠습니다. Marc –

답변

0

, 당신은 예외 중단 점을 추가 할 수 있습니다. 이것은 정확한 라인이 충돌하고 있음을 알려줍니다.

+1

이 질문에 대한 답변을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남기십시오. 자신의 게시물에 언제나 댓글을 달 수 있으며 충분한 [평판] (http://stackoverflow.com/help/whats-reputation)을 갖게되면 [모든 게시물에 댓글을 달 수] 있어야합니다 (http://stackoverflow.com/help/privileges/comment). – Makyen

+0

솔직히 말해서, 그 남자가 시작하면 ...이 버그와 미래의 버그를 찾는 가장 좋은 대답입니다. –

+1

좋은 조언이라는 데 동의합니다. 그러나 질문에 대답하지 않기 때문에 대답이 아니라 주석이어야합니다. 누구든지 다운 - 투표, 아마도이 라인을 따라 뭔가를 믿었어요. – Makyen

관련 문제