dequeueReusableCell withReuseIdentifier 로 collectionview를 구성하게되면 화면에서 벗어난 cell을 reuse하는 경우가 생긴다. 앱 개발에 있어 이것이 문제를 일으킨 경우로는 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) 를 사용해 cell선택시 해당 cell이 선택됐음을 표시하는 기능을 구현하던 중, a번 셀을 선택했는데 화면밖에 있어 표시되지 않던 b번 셀이 같이 선택 되는 오류가 있었다. (imageview의 'checkmark.circle.fill' 과 'circle' 을 toggle하여 선택됨을 표시하는 방식이었다.) 이를 해결하기..
extension UIView { func setBorderShadow(borderWidth : CGFloat,cornerRadius : CGFloat,borderColor : CGColor = UIColor.systemGray.cgColor, useShadowEffect boolean : Bool){ //테두리 설정 self.layer.borderWidth = borderWidth self.layer.cornerRadius = cornerRadius self.layer.borderColor = borderColor //테두리 그림자 효과 설정 self.layer.masksToBounds = !boolean self.layer.shadowColor = UIColor.systemGray.cgColor //..
public extension UIView { private static let kLayerNameGradientBorder = "GradientBorderLayer" func setGradientBorder( width: CGFloat, colors: [UIColor], startPoint: CGPoint = CGPoint(x: 0.5, y: 0), endPoint: CGPoint = CGPoint(x: 0.5, y: 1) ) { let existedBorder = gradientBorderLayer() let border = existedBorder ?? CAGradientLayer() border.frame = bounds border.colors = colors.map { return $0.cgC..
이번 학교 프로젝트 과제로 일정관리 프로그램을 만들었습니다. 간단한 기능들 위주로 구현되어있으며 유닉스 시스템콜(저장,불러오기에 집중적으로 사용됨)을 C언어에 첨가하여 만들어봤습니다. UI를 화려하게 만들진 않았습니다 단순히 콘솔용 프로그램이라 생각하시면됩니다. 혹시 학교 과제 하시는 분들 사용하셔도 좋습니다. 터미널에서 vi 모드로 파일에 코드를 붙여넣고 gcc를 사용하여 실행할 수 있습니다~ #프로젝트 설명 프로그램에는 일정등록, 등록된 일정 수정 삭제 및 조작 기능, 우선순위 등록 기능을 구현했습니다. 우선순위 등록은 일정등록할때 이루어지며 나중에 등록된 일정들을 우선순위별로 구분하여 조회할 수 있습니다. 일정 조작 기능에서 수정 삭제는 말그대로 수정 삭제입니다. 그 외의 조작 기능으로는 벌써 수행..
- Total
- Today
- Yesterday
- XCFramework
- ios simulator
- CLANG
- 주입
- 메모리 순환참조
- clean code 정리
- swiftc
- 단어변환
- 학교 과제
- 이분탐색
- Swift
- 순환참조
- XcodeBuildSystem
- 링커
- SwiftUI
- 알고리즘
- 클린 코드 줄거리
- 클린 코드
- clean code
- 여행경로
- 프로그래머스
- 면접질문
- 생명 주기
- dfs
- 의존성
- BFS
- 의존관계역전법칙
- ios
- 클린 코드 정리
- 전처리기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |