기록/공부기록👩🏻‍💻

[공부기록]100일_8일차

lingk 2020. 9. 14. 21:04

1. Life Bucket Model

class DetailLifeBucket{
    var want:String
    var content:String
    
    init(want:String, content:String){
        self.want=want
        self.content=content
    }
    
}

var LifeBucket : [[DetailLifeBucket]] = [[DetailLifeBucket(want: "여행",content: "dd")],[DetailLifeBucket(want: "취미/문화",content: "dd")],[DetailLifeBucket(want: "자기계발",content: "dd")],[DetailLifeBucket(want: "소비/저축/기부",content: "dd")],[DetailLifeBucket(want: "가족/친구",content: "dd")],[DetailLifeBucket(want: "기타",content: "dd")]]

DetailLifeBucket을 클래스로 만들고, LifeBucket을 2차원 배열로 만들었다.

6개의 열로 kinds원소를 각 첫번째행을 초기화 해주었다!

 

2. LifeBucket 카테고리 셀 선택

셀을 선택하였을때, present하는 뷰에서는 여행은 LifeBucket[0]의 원소들을 취미/문화는 LifeBucket[1]의 원소들을 불러와야한다.

선택한 셀의 indexPath.row를 다음 VC로 전달하기 위해, AppDelegate 객체를 사용하여 값을 주고 받았다.

AppDelegate파일에 변수를 선언했다.

var whichCell = 0 

SecondVC에서 AppDelegate 객체의 인스턴스를 가져와 값을 저장하였다.

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
        let ad = UIApplication.shared.delegate as? AppDelegate
        ad?.whichCell = indexPath.row
        
        let vc = self.storyboard?.instantiateViewController(identifier: "DetailLifeViewController")
        vc?.modalPresentationStyle = .fullScreen
        
        vc?.modalTransitionStyle = .coverVertical
        self.present(vc!,animated: false)
    }

DetailLifeVC에서 셀을 리턴하는 코드이다.

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        guard let cell = tableView.dequeueReusableCell(withIdentifier: "detailLifeCell",for:indexPath) as? DetailLifeTableViewCell else{
            return UITableViewCell()
        }
        cell.folderLabel.text = LifeBucket[cellNum][indexPath.row].want
        
        return cell
    }

 

AppDelegate 클래스를 대신하는 다른 클래스를 만들어 같은 역할로 사용할수도 있다. 단, 다음 원칙들을 지켜서 클래스를 생성해야 한다.

  • UIResponse 클래스를 상속받아야 한다.
  • UIApplicationDelegate 프로토콜 구현을 선언해야 한다.
  • UIApplicationMain 어노테이션을 붙여주어야 한다.

 

 

3. DetailLifeVC를 네비게이션컨트롤러로 연결하려했지만,,실패

대신 VC를 present할때 animation을 false로 놓았다.

modalTransitionStyle로 여러값을 넣어봤지만 마음에 드는게 없었다ㅠㅠㅠ

 

4. 앞에서 FirstVC에서와 같은 방식으로 alert를 생성

 

오늘의 영상,,,?ㅋㅋㅋㅋㅋ

 

 

이제 슬슬 UI를 생각해야겠다~~~~~

반응형

'기록 > 공부기록👩🏻‍💻' 카테고리의 다른 글

[공부기록]100일_10일차  (0) 2020.09.16
[공부기록]100일_9일차  (0) 2020.09.15
[공부기록]100일_7일차  (0) 2020.09.13
[공부기록]100일_6일차  (0) 2020.09.12
[공부기록]100일_5일차  (0) 2020.09.11