전체 글
-
[TIL] 구글 애널리틱스 추가code/TIL 2023. 11. 6. 23:42
// // AnalyticsStore.swift // ClothingBinSearch // // Created by Lyla on 2023/11/06. // import Foundation import FirebaseAnalytics class AnalyticsStore { var uniqueUserID: String //uniqueUserID 존재 여부에 따라 설정 init() { if let savedUserID = UserDefaults.standard.string(forKey: "uniqueUserID") { self.uniqueUserID = savedUserID } else { self.uniqueUserID = UUID().uuidString UserDefaults.standard.set(s..
-
[Swift] 음양 더하기Coding Test 2023. 11. 6. 00:07
import Foundation func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int { var count:Int = 0 var result:Int = 0 for input in signs { if input == true { result += absolutes[count] } else { result -= absolutes[count] } count += 1 } return result } 1) 두 배열을 튜플로 만들기 import Foundation func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int { zip(absolutes, signs) //signs의 값에 따라 수(abslutes)가 변한다 -> 배..
-
포인터 사용code/C 2023. 11. 5. 00:25
& 주소 연산자: 변수의 메모리 주소를 구할 때는 변수 앞에 를 붙이면 됩니다 %p : 서식 지정자 %p를 사용하여 출력합니다(pointer의 약어로 p를 사용). 물론 16진수로 출력하는 %x, %X를 사용해도 됩니다. #define _CRT_SECURE_NO_WARNINGS // strcpy 보안 경고로 인한 컴파일 에러 방지 #include #include int main(void) { int num1 = 10; printf("%p\n" , &num1); return 0; } 출력: 0x30d89cfe8 근데 왜 arm64인데 32비트로 출력되는지는 모르겠다. +읽어볼거리 (질문과는 관계없음) https://nskg-yj.tistory.com/entry/iOS-ARM-Architecture [iOS..
-
[Swift] 추억 점수Coding Test 2023. 11. 2. 23:27
[내 풀이] import Foundation func solution(_ name:[String], _ yearning:[Int], _ photo:[[String]]) -> [Int] { var result:[Int] = [] var resultValue:Int = 0 var currentNumber:Int = 0 for currentArray in photo { resultValue = 0 for currentName in currentArray { currentNumber = 0 for person in name { if person == currentName { resultValue += yearning[currentNumber] } currentNumber += 1 } } result.append..
-
[TIL] 의존성code/TIL 2023. 11. 2. 21:23
의존성: 파라미터나 리턴값 또는 지역변수 등으로 다른 객체를 참조하는 것 코드에서 두 모듈(클래스)간의 연결 혹은 관계를 말한다. 의존 대상 B가 변하면, 그것이 A에 영향을 미친다. 의존성(Dependency)을 지양하는 이유 높은 의존성은 모듈의 재사용을 감소시킨다. (독립적이지 않아 다른 곳에 사용하기 어렵다.) 하나의 모듈이 바뀌면 의존한 다른 모듈까지 변경이 이루어진다. 의존성 주입이란? - 외부에서 객체를 생성해서 넣어주는 것 - 객체가 의존하는 또 다른 객체를 외부에서 선언하고 이를 주입하는 것이 의존성 주입임. IoC(Inverse of Control) 제어권을 개발자가 아닌 제3자(framework)가 가지게 하는 것이다. IoC의 주된 목적은 Application의 Dependency를..
-
[Swift] FirebaseDatabase 채팅 기능 upload/fetch 예제Swift 2023. 10. 28. 23:06
final class ChatViewModel:ObservableObject { var ref: DatabaseReference! = Database.database().reference() @Published var messageList: [Message] = [] //MARK: - 메세지 업로드(Create) func sendMessage(_ messageContent: String){ var tempMessageList: [Message] = self.messageList let tempMessage: Message = Message(sender: "보낸이", content: messageContent, timeStamp: Date().timeIntervalSince1970) tempMessageL..
-
[Swift] 이슈트래킹: Firebase에서 값이 안뜸 (원인: 값을 가져오긴 했는데 closure의 실행 과정에 대한 이해 부족)Swift 2023. 10. 28. 22:27
func fetchMessage() { self.ref.child("Message").observe(.value) { snapshot in guard let jsonString = snapshot.value as? String else { print("데이터를 가져오는 데 실패했습니다.") return } do { let jsonData = Data(jsonString.utf8) let messages = try JSONDecoder().decode([Message].self, from: jsonData) DispatchQueue.main.async { self.messageList = messages //2) 변경해야 하는 print문 위치 print("count::\(self.messageList.c..