기록/공부기록👩🏻‍💻

[공부기록]100일_24일차

lingk 2020. 9. 30. 23:37

1. ThisYear 코어데이터 삭제

테이블뷰에서 표시되는 셀의 숫자와 배열의 데이터 숫자는 일치해야하므로, 배열에 직접 접근해서도 삭제해주어야함❗️

    //셀 삭제
    func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
        if editingStyle == .delete{
            let bucketList = DataManger.shared.thisYear[indexPath.row]
            DataManger.shared.deleteTYB(_bucket: bucketList)
            //테이블뷰에 표시된 셀 숫자와 배열의 데이터 숫자는 일치해야한다
            DataManger.shared.thisYear.remove(at: indexPath.row)
            
            tableView.deleteRows(at: [indexPath], with: .bottom)
        }
    }

2. Life 코어데이터

 

Life 데이터 모델을 처음 구성할때 각 폴더별로 한가지 버킷리스트씩 초기화를 해놓았기 때문에 life[cellNum]~~접근이 가능했다❗️

BUT,,,특정 값을 넣지 않고 폴더수로만 초기화 하고 싶었다

그렇게 찾아낸 해결 방법😁🧐🧐🧐배열을 선언할때 처음부터 다음과 같이 하면 된다🙈

var life = Array(repeating: [LB](), count: 7)

빈 배열 LB를 반복하고, 7로 크기를 정해줬다😊

https://www.python2.net/questions-243775.htm

 

java - 스위프트에서 2 차원 배열의 배열에 크기를 전달하는 방법

Java 코드를 Swift로 변환하려고합니다. 다음은 내 코드이며 count는 Array의 크기이고 Span은 사용자 정의 데이터 형식입니다. Swift에서 아래 코드를 작성하는 방법 ArrayList [] tempArray = 새로운 ArrayList [c

www.python2.net

    func fetchLB(_tag : Int){
        let request : NSFetchRequest<LB> = LB.fetchRequest()
        //iDidIt을 기준으로 정렬
        //let sortByBool = NSSortDescriptor(key : "iDidIt", ascending: true)
        //request.sortDescriptors = [sortByBool]
        
        do{
           try life[_tag] = mainContext.fetch(request)
        }catch{
            print(error)
        }
    }
    func addNewLB(_tag : Int, _bucket:String){
        let newLB = LB(context: mainContext)
        
        newLB.want = _bucket
        newLB.iDidIt = false
        newLB.image = noImage?.pngData()
        newLB.content = ""
        newLB.when = "날짜"
        
        life[_tag].insert(newLB, at: 0)
        saveContext()
    }
    func deleteLB(_bucket : LB?){
        if let bucket = _bucket{
            mainContext.delete(bucket)
            saveContext()
        }
    }
    func editLB(cellNum:Int, detailCellNum: Int,want:String, iDidIt:Bool, image:UIImage, content:String, when:String){
        let newLB = LB(context: mainContext)
        
        newLB.want = want
        newLB.iDidIt = iDidIt
        newLB.image = image.pngData()
        newLB.content = content
        newLB.when = when
        
        life[cellNum][detailCellNum] = newLB
        saveContext()
        
    }

우선 Life버킷 코어데이터 셋팅도 끝났다😁😁😁

비교적 간단한 ThisYear을 하고나서 하니까 Life는 쉽게 할 수 있었다😊😊😊😊

edit은 edit함수가 아니라 직접 접근해줘야하는 것 같다🧐함수 지워버리기

 

아무튼 ThisYear과 Life 버킷리스트에 코어데이터 적용 성공🙈🙈🙈

👉정렬은 수정해야함

 

코어데이터에 관한 자세한 포스팅은 조만간,,,이번주 안에,,,

 

 

 

 

반응형

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

[공부기록]100일_26일차  (0) 2020.10.02
[공부기록]100일_25일차  (0) 2020.10.01
[공부기록]100일_23일차  (0) 2020.09.29
[공부기록]100일_22일차  (0) 2020.09.28
[공부기록]100일_21일차  (0) 2020.09.27