https://www.acmicpc.net/problem/10814 import Foundationstruct Person { var name: String var age: Int var index: Int init(_ info: [String], index: Int) { self.name = info[1] self.age = Int(info[0])! self.index = index }}let N = Int(readLine()!)!var people: [Person] = []for index in 0..
https://www.acmicpc.net/problem/11650 import Foundationstruct Index { var x: Int var y: Int}let N = Int(readLine()!)!var locations: [Index] = []for _ in 0..
https://www.acmicpc.net/problem/10825 import Foundationstruct Student { var name: String var korean: Int var english: Int var math: Int init(_ info: [String]) { self.name = info[0] self.korean = Int(info[1])! self.english = Int(info[2])! self.math = Int(info[3])! }}let N = Int(readLine()!)!var students: [Student] = []for _ in 0..
안녕하세요?iOS 13에 바뀐 걸 왜 2025년에... ...????? 라는 생각이 들기는 하지만살다보면 이해할 수 없는 일이 있는 법이다 보통 회사에 남아 있는 레거시 코드가 그렇다 찾아보면 Swift 기반 코드들은 많이 나오는데 Objective-C 에서 변경하는 코드들은 많이 안 나오더라 기존 코드는 아래와 같다.SceneDelegate를 사용하지 않는 프로젝트의 경우,window 변수를 사용하기 위해서는 보통 아래와 같은 선언을 사용한다. UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; UIWindow *window = [[[UIApplication sharedApplication] dele..
분명........성능을 생각하며 개발하는데도 어느 순간 보면 앱이 멈추는 hanging 현상이 일어날 때가 있다. hanging 현상이 일어나지 않는 게 최고지만 마주하게 된다면 받아들이고 이별할 방법을 강구해야 한다. 환멸 격노 좌절 종말이 오기 전에 적당히 공포에서 탈출해야 한다.Xcode는 대부분의 경우에 나를 화나게 하는 경우가 많지만 좋은 기능이 꽤 많다. 그 중 하나는 Instruments인데, hanging 현상 debuging에 유용한 건 Time profiler이다. Time profiler 를 켜고 왼쪽 위 녹화 버튼을 누른 이후에 해당 현상을 재현해 보면 위와 같은 사진이 나온다.Hangs에 나와 있는 빨간 부분이 앱이 멈춰 있던 부분이다. ^__^ 아니면 xcode에서..
최근 Objective-C로 된 소스를 Swift로 바꾸는 작업을 하고 있다. (이젠 거의 막바지라는 것이 믿기지 않는다.)Objective-C에서는 C와 동일한 타입으로 사용할 수 있었지만, Swift에서는 C의 unsigned char, unsigned int 값들을 UInt8, UInt32로 포팅하여 사용해야 했다. 그러던 중 ... ... arithmetic overflowThread 1: Swift runtime failure: arithmetic overflow 이 오류를 만났다.해당 오류는 반드시 발생하는 것은 아니었다. (로직이 그랬음) 에러 문구에서 알 수 있듯이, 산술 오버플로우로 타입에서 처리할 수 있는 값 이상을 넣었기 때문에 발생했다. 문제가 있었던 변수는 UInt8 타입으로, ..
이제 막 개발을 한 지 2년 정도가 되었다. 새삼... ... 참 시간이 빠른 것 같기도 하고 느린 것 같기도 하다는 생각이 든다.회사에 들어온 지는 10개월! 이제 2월이면 1년차 개발자가 된다는 사실이 요상하다. ... ...작년 이맘 때 취준을 하고 있었다는 사실이 더 이상할지도 모르겠다. 아무튼. 2023년 한 해는 도전하고, 배우는 데 시간을 모두 쏟았고 2024년은 배우고, 또 적응하는 데 시간을 많이 쓴 것 같다. 왜 이렇게 시간이 빨리 갔지?! 싶을 정도로 순식간에 지나갔던 2024년이라고 해야 할까. :32023년은 유독 많은 걸 했고, 느리게 갔던 것 같은데 24년은 눈 한번 깜빡하니 지나간 느낌이다. 처음 회사에 들어왔을 때는 해당 코드를 쓴 사람의 의도나 방향보다는 단순히..
Application Specific Information: CoreFoundation: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIButton lbText]: unrecognized selector sent to instance 0x1052ce370' 이 오류가 왜 나는지는 알고 있었다.보통 swift 프로젝트에서 ObjC 라이브러리를 사용하게 되었을 때, other linker flag에 `-ObjC`를 추가 안 해 주면 해당 ObjC 파일을 스위프트 컴파일러가 찾지 못해 해당 오류가 발생하는 경우가 잦다. 하지만? 이번에는 그런 경우는 아니었따 . . ..