2014-06-18 2 views
0

대물 렌즈 -c에서 이제 Swift를 시도하는 동안이 문제가 발생했습니다. 뷰 컨트롤러 (vc1)를 만들고 네비게이션 컨트롤러와 함께 임베드 한 다음 마지막으로 새로운 뷰 컨트롤러 (vc2)를 만듭니다. 그런 다음 vc1에 단추를 놓고 컨트롤을 vc2로 끌어 놓습니다. 나는 앱을 실행하고 모든 것이 멋지다. 버튼을 클릭하면 스택에 새로운 뷰 컨트롤러가 푸시되고 뒤로 버튼을 누르면 되돌릴 수있다. 그러나 일단 vc2에 새로운 버튼과 텍스트 필드를 추가하면 vc1에서 원래 버튼을 누르면 응용 프로그램이 중단되고 응용 프로그램 위임 파일의 첫 번째 줄이 중단 점으로 표시됩니다. 나는 많은 일을 시도했다. 즉 self.performSegueWithIdentifier 메소드를 사용하여 segue를 코딩하려고 시도했지만 작동하지 않는다. 나는 엑스 코드 6.보기 컨트롤러 사이를 올바르게 연결하는 방법

storyboard.swift (VC1에 대한 파일)을 사용하고 있습니다 :

import UIKit 

class storyboard: UIViewController { 

    @IBOutlet var titleLabel : UILabel 
    @IBOutlet var orLabel : UILabel 

    @IBAction func weightedAverageButtonPressed(sender : AnyObject) { 

     self.performSegueWithIdentifier("weightedAverage1", sender: self) 
    } 

    @IBAction func whatINeedButtonPressed(sender : AnyObject) { 
    } 
} 

weightedAverage.swift (VC2) (I은 충돌을 없애 모든 주석,하지만 운했습니다) :

import UIKit 

class weightedAverage: UIViewController { 

/* @IBOutlet var weightAverageTitleLabel : UILabel 
    @IBOutlet var percentagetoCalcLabel : UILabel 
    @IBOutlet var percentageLabel : UILabel 
    @IBOutlet var percentageInput : UITextField 

    @IBAction func continueButton(sender : AnyObject) 
    { 

    //var percent = percentageInput.text 

    // percentageLabel.text = percent 

    }*/ 

} 

appdelegate.swift : 내가 주석 한 때

다음
import UIKit 

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 

    var window: UIWindow? 


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { 

     return true 
    } 
} 

은 (디버그 출력이 말하는 내 IBAction를 법) :

2014년 6월 19일 12 : 29 : 12.471 gradeCalc는 [13,217 : 580,024은] - [_ TtC9gradeCalc10storyboard weightedAverageButtonPressed는 :] : 미정 선택기 인스턴스에 전송은 0x10bb0ad30는 (lldb)는

또한 라인을 강조 "AppDelegate ...."클래스에서 시작하는 응용 프로그램 대리자 중

performSegue ... 메서드가 포함 된 메서드의 주석을 제거하면 출력 로그에 모두 "(lldb)"이 표시되고 여전히 응용 프로그램 대리인의 줄이 강조 표시됩니다

+0

그래서 .... '스토리 보드'라는보기 컨트롤러가 있습니까? – Jack

+0

예, 초기보기 컨트롤러는 스토리 보드라고합니다 – yaboi

+0

충돌을 디버그하려면 ** 예외 중단 점 **을 설정하고 여기에서 수행하십시오. https://developer.apple.com/library/ios/recipes/xcode_help- breakpoint_navigator/articles/adding_an_exception_breakpoint.html – Jack

답변

1

m 버튼에 대한 비영리 IBAction 코드를 사용하고 Storyboard에서 만든 segue 만 사용 하시겠습니까? 둘 다 스토리 보드와 클래스 파일을 사용하여 동시에 두 번 세그 언트하려는 경우 일 수 있습니다.

편집 :

class OneViewController: UIViewController { 


@IBOutlet var label1: UILabel 

@IBOutlet var label2: UILabel 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Do any additional setup after loading the view. 
} 

두 번째보기 컨트롤러 :

class TwoViewController: UIViewController { 
@IBOutlet var upperlabel: UILabel 
@IBOutlet var lowerlabel: UILabel 
@IBOutlet var textbox: UITextField 
@IBAction func button(sender: AnyObject) { 
    var percent = textbox.text 
    lowerlabel.text = percent 
} 
override func viewDidLoad() { 
    super.viewDidLoad() 
    } 

이미지를 추가 할 수 없습니다 두 개의 뷰 컨트롤러

먼저보기 컨트롤러 내 작업 예에 사용 된 모든 코드 NDA로 인해 Storyboard는 NavigationController> VC1> VC2 일 뿐이며 각 VC에 두 개의 레이블, VC2의 텍스트 상자 및 각각의 버튼이 있습니다. 두 번째 버튼에만 해당 VC 클래스에 작업이 있습니다.

+0

예 코드를 제거하면 동일한 효과가 나타납니다. – yaboi

+0

Segue의 식별자는 다음과 같습니다 : 스토리 보드의 weightedAverage1입니까? –

+0

예 그냥 double 체크했습니다 – yaboi

관련 문제