[Error] Referencing initializer 'init(_:)' on 'Set' requires that 'T' conform to 'Hashable'
·
Ios/Error노트
- 해당 코드 123func checkDuplicationT>(_ ary: [T]) -> Bool{    return ary.count != Set(ary).count}    Colored by Color Scriptercs 해당코드의 경우에는 배열을 받아서 중복값이 있는지 확인하는 메서드를 만들려다 생긴 오류다코드는 간단하게 배열을 받아 Set형식으로 변환해서 Set의 count와 array의 count랑 비교하면Set의 경우에는 중복 허용이 되지 않아 형변환시 중복값이 있으면 Set에 들어가지 않아 array와 count가 달라지게 된다.다만 배열에 어떤 타입이 들어갈지 알 수 없으니 제네릭으로 선언을 해놓자 에러가 발생하였다. - error codeReferencing initializer 'ini..
[Today] Combine과 RxSwift의 차이점을 끄적임
·
Ios/Today
Combine 과 RxSwift는 둘다 비동기 프로그래밍을 위한 리액티브 프레임워크입니다. 둘다 비슷한 느낌의 프레임워크이면서 용어가 살짝 다를 뿐 어떤 점이 다른지 어쩔때 Combine과 RxSwift를 사용하는지 궁금하여 검색해본것을 정리해 본다. Combine : Combine의 경우 2019WWDC에서 발표된 프레임워크이다. Apple에서 공식적으로 제공하는 프레임워크로 이른바 first-party로써 이점을 가져간다. first-party의 장점이라면 높은 성능과 효율성이다.또한 SwiftUI + Combine의 조합이 성능이 좋아 많이 변경해가고 있는 중 이라고 보면 될것같다. RxSwift : RxSwift의 경우에는 IOS8.0부터 사용이 가능하게 만들어진 오픈소스이다. 즉 Third-pa..
[Error] error: cannot convert value of type 'String.Element' (aka 'Character') to expected argument type 'String'
·
Ios/Error노트
- 해당 코드   - error codeerror: cannot convert value of type 'String.Element' (aka 'Character') to expected argument type 'String' - 원인 해결s.sorted(by: >).reduce("", +) s.sorted(by: >).reduce("") { $0 + String($1) } - 원인s가 String이였는데 이 부분을 sorted하게 된다면 String을 한 글자씩 배열로 정렬을 시키게 된다.그러나 String을 sorted하니깐 요소가 Character타입으로 변경되면서 이후 reduce메서드를 진행하게 되니깐Character의 형태로 덧셈이 되면서 계산이 이루어지지 않는 상태가 되었던 것 입니다. 그..
[Today] codebase? 그런 것에 대한 장단점
·
Ios/Today
storyboard로 개발을 계속진행하다 처음으로 코드베이스라는 것이 있다는것을 알았다. 도대체 왜? 라는 생각과 그럼 현업에서는 다 코드베이스인가 라는 생각과 함께 코드베이스에대한 검색을 하기 시작했다. 코드베이스의 경우에는 main storyboard를 삭제하고 오직 코드로만 UI를 구성하는 것을 코드베이스라 한다. 그렇다면 둘의 장단점이 뭘까? 정리해보자 코드베이스storyboard성능빠름느림직관성preview가 없어 직관성이 떨어짐내가 설정하는 만큼 preview가 보여줌협업코드만 공유하여 협업에 용의함설정을 하나하나 봐야하기 때문에 어려움재사용성함수화하여 재사용성을 높인다.재사용 하기 어려움코드량많음적음 이정도가 될것같다.그리고 난이도가 코드베이스가 훨씬 높다고 느낀다. 이유라면 storyboa..
okoo
IT 개발자 공부해보기