[Swift/코드한줄] Timer.invalidate()
Develop/Swift 2022. 4. 8. 14:01

코드 한 줄에 대해 기록합니다. 의식의 흐름을 따라갑니다. Timer에서 invalidate() 함수의 정의를 보면 타이머를 중지하고 loop에서 제거해주는 역할을 하는 함수 이라고 작성되어있다 지정된 타이머를 제거하는 유일한 방법이라고 한다 (참고로 timer = nil 한다고 이미 시작된 타이머가 초기화되진 않는다...^^ 하하) 근데 invalidate() 함수를 작성했는데도 타이머가 계속 진행되는 문제가 발생해서 왜일지 알아보았다 만약 timer.invalidate()를 실행했는데도 불구하고 타이머가 계속 실행이 된다면 두 가지 중 이유가 있을 텐데 1. 타이머가 중복돼서 실행된 경우 만약 타이머를 설정하는 코드가 2번 실행됐다면 timer.invalidate() 한다고 해서 2번이 모두 취소가 ..

[Xcode] Xcode Error: abort trap 6
Develop/iOS 2022. 3. 8. 15:51

갑자기 개발 잘하다가 Xcode에서 처음 보는 에러가 발생하였다 코드에는 빨간줄 하나도 없는 상태에서 Abort Trap: 6 라니.. StackOverFlow에서 해답을 찾을 수 있었다 guard let 구문을 사용할 때 let exampleText: String? guard let exampleText = exampleText else { return } 위의 코드처럼 양쪽의 변수 이름을 같게 설정해 둔 것이 있었는데 이것을 다르게 수정해주니 에러가 해결되었다.. ^^ 이런 식으로 코드 짠 적 많은데 처음 마주친 에러였다 모두 guard let 변수명 수정해보세요~.. @미닛메이드 참고 Command failed due to signal: Abort trap: 6 Since Xcode 7 and Sw..

[Swift/코드한줄] translatesAutoresizingMaskIntoConstraints = false
Develop/Swift 2022. 1. 16. 16:48

하루에 코드 한 줄에 대해 기록합니다. 의식의 흐름을 따라갑니다. 우리가 코드를 이용해 layout을 잡기 전 꼭 해주는 일이 있다 바로 button.translatesAutoresizingMaskIntoConstraints = false 처럼 translatesAutoresizingMaskIntoConstraints 를 false로 설정해주는 일이다 이 코드를 설정하지 않으면 위치가 원하는 데로 잡히지 않는다 왜일지 궁금해졌다 먼저 translatesAutoresizingMaskIntoConstraints 은 UIView Class 에서 Subviews의 Layout 관련 Property로 분류가 되어있는 것을 볼 수 있다 그리고 공식 문서의 정의를 확인해보면 View의 AutoresizingMask가..

[SwiftUI/WatchOS] 애플워치에서 SwiftUI를 이용해 List(Table) 구현해보기 (Make a Table in watchOS)
Develop/SwiftUI 2021. 7. 7. 12:21

안녕하세요. 미닛메이드 Minnit 입니다😌 오랜만에 글을 쓰네요..ㅎㅎ SwiftUI 공부를 시작하게 되어서, 새로운 카테고리를 만들어봤답니다 ^-^ 요즘 많이 사용하는 애플워치 앱을 공부하고 있어요 ⌚️ 시작으로 가볍게 SwiftUI를 이용해 Table을 구현해보겠습니다 ~ 오늘 시작으로 만들어 볼 최종 결과물입니다! 간단한 코드로 구성돼있어서, SwiftUI 입문으로 아주 적절..! 😗 먼저 SwiftUI에는 TableView, Table 이라는 개념이 존재하지 않습니다 그 대신에, List 라는 개념이 존재합니다 "데이터 행을 단일 행으로 표시하는 컨테이너로, 하나 이상의 멤버를 선택할 수 있다" 데이터에서 값을 가져와 한 행씩 표시해준다라는 뜻입니다. 바로 우리가 알고 있는 TableView와 ..

[Swift] UIButton 코드로 직접 구현하기 (Create UIButton programmatically in Swift )
Develop/Swift 2021. 3. 30. 16:47

안녕하세요. 미닛메이드 Minnit 입니다😌 뷰를 구성할 때 object들을 Storyboard로 구현하시나요 코드로 구현하시나요? 저는 보통 Storyboard를 사용하는 편인데,경우에 따라 코드로 구현해야할 때가 있더라구요 ! 이번에는 코드로 UIButton을 구현하고, Constraint까지 잡아보겠습니다 ~~ 이번 글에서는 translatesAutoresizingMaskIntoConstraints 를 이용해서 Button의 Constraint를 코드로 구현해볼 거예요! translatesAutoresizingMaskIntoConstraints 란 뭘까요? Apple🍎의 공식 문서를 확인해보면 "뷰의 autoresizing mask가 자동 레이아웃 제약 조건으로 변환되는지 여부를 결정하는 Bool ..

[Swift/iOS] 카메라로 사진 찍기 및 앨범에서 이미지 가져오기 (taking a picture using the camera)
Develop/Swift 2020. 12. 30. 04:19

안녕하세요. 미닛메이드 Minnit 입니다😌 앱에서 카메라로 사진을 찍거나 앨범에서 기존 이미지를 가져와서 사진을 등록하는 기능 ! 많이 사용해보셨죠? 예로는 카카오톡 프사 선택하기가 있겠네요! UIImagePickerController를 이용해 이 기능을 구현해보겠습니다! UIImagePickerController가 뭘까요? Apple🍎의 공식 문서를 확인해보면 "사진 촬영, 동영상 녹화, 사용자의 미디어 라이브러리에서 항목을 선택하기 위한 시스템 인터페이스를 관리하는 View Controller입니다." 이번 시간에는 UIImagePickerController에서 제공해주는 다양한 함수에 대해 살펴볼게요! 그럼 기본적인 코드를 보고 설명을 해볼까요? let camera = UIImagePickerCo..

[Xcode] Xcode Theme(테마) 추가 및 변경해보기
Develop/iOS 2020. 11. 1. 22:38

안녕하세요. 미닛메이드 Minnit 입니다😌 이번에는 Xcode의 Theme를 다운받고 적용해보겠습니다!! 테마 다운받기 git이나 blog에 다양한 xcode 테마들이 올라와있으니 .xccolortheme 확장자의 원하는 파일은 먼저 다운받아주세요! "xcode theme download" 치면 예쁜 테마들이 많더라구요 ! github.com/jasonm23/xcode-themes jasonm23/xcode-themes XCode themes with Sauce. Contribute to jasonm23/xcode-themes development by creating an account on GitHub. github.com 참고로 저는 이번에는 WWDC 2017 Theme를 적용시켜봤습니다 ~ 파일..

[iOS] SMS 인증번호 입력 타이머(Timer) 구현하기
Develop/iOS 2020. 9. 15. 22:30

안녕하세요. 미닛메이드 Minnit 입니다😌 보통 회원가입을 할 때 휴대폰 인증 혹은 이메일 인증 사용해보셨죠? 휴대폰으로 문자가 보내지는 순간 보통 3분 혹은 5분의 타이머가 실행됩니다~ 3분에서 시작해 0초까지 진행되는 타이머 기능을 간단히 구현해보겠습니다! View 만들기 Text Field, Button, Label을 이용해 뷰를 구현했습니다. 저 인증번호 TextField 안에 있는 Label이 Timer의 역할 ! Button Action 구현하기 휴대폰 번호를 입력 후 전송 버튼을 Click 했을 때, 타이머가 실행되도록 전송 버튼의 IBAction에 코드를 구현하겠습니다. 저는 3분으로 진행하기 위해 제한 시간을 180초(=3분)로 잡아줬습니다. 🌟 만약 5분이라면 limitTime을 30..