2014-10-20 1 views
1

저는 다른 셀 하위 클래스간에 전환하려는 프로그래밍 방식으로 segmentedControl을 만듭니다. 그러므로 나는 selectedSegmentIndex와 같다고 생각되는 정수를 생성했다. 문제는 내가 선택한 세그먼트 인덱스가 변경되었는지 확인 했는데도 0과 1 사이에서 변경되는 경우에도 정수가 항상 0 인 것입니다. 어떻게 정수가 항상 0입니까?segmentIndex는 selectedSegmentIndex와 같지 않아야합니다.

먼저 내가 그때의 valueChanged 방법을 만들어이

segmentedControl = UISegmentedControl(items: ["Detail", "Tickets"]) 
    segmentedControl!.frame = CGRectMake((self.navigationController!.navigationBar.frame.width/2)-((self.navigationController!.navigationBar.frame.width-20)/2), self.navigationController!.navigationBar.frame.height-38, self.navigationController!.navigationBar.frame.width-20, 28) 
    segmentedControl!.selectedSegmentIndex = 0 

    segmentedControl!.tintColor = UIColor.whiteColor() 
    segmentedControl!.addTarget(self, action: Selector("valueChanged:"), forControlEvents: UIControlEvents.ValueChanged) 
    self.navigationController?.navigationBar.addSubview(segmentedControl!) 

    segmentSelected = 0 

있는 viewDidLoad

에서 0으로 segmentedControl 및 설정 정수를 생성 한 후 정수

var segmentSelected:Int? 

을 만들

func valueChanged(sender: UISegmentedControl) { 

    println(segmentedControl?.selectedSegmentIndex) 


    if segmentedControl?.selectedSegmentIndex == 0 { 
     segmentSelected == 0 
     tableView.reloadData() 



    } else if segmentedControl?.selectedSegmentIndex == 1 { 

     segmentSelected == 1 

     tableView.reloadData() 

    } 

    println(segmentSelected) 


} 
+2

'=='대신 '='할당 연산자를 사용하십시오. – marcusficner

답변

0

당신은있어 = 대신 ==을 사용하므로 절대 동의 할 수 없습니다. segmentSelected 변수를 지정하십시오.

관련 문제