728x90 반응형 개발노트180 ios : NSInternalInconsistencyException 에러 Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread = 레이아웃 엔진에 대한 수정은 메인 스레드에서 액세스한 후 백그라운드 스레드에서 수행해서는 안 됩니다. 로그인을하고 결과를 처리하는 도중 alert 창을 띄웠는데 위 에러를 뱉고 죽었습니당 확인해보니 UI는 메인스레드에서만 변경을 해야하며 백그라운드 스레드에서는 UI변경을 하면 안됩니다! 라고 합니다 ㅎㅎ,,. android 작업할 때 과장님이 알려주셨는데 정확히 안외워놔서 또 실수하고 오늘은 기록으로 남깁니다 ㅎ_ㅎ 아래 DispatchQueue.main.async 를 사.. 2022. 2. 23. Swift : TextField 사용후 키보드 내리기 전진시입니다! TextField 사용후 키보드를 내려야하는데 키보드를 어떻게 내려야하는지 몰라서 또 찾아보고 적용 후 포스팅 하러 왔습니다 암기하자! // 앱은 유저가 글자 입력을 완료하는 시점을 모르기 대문에 자동으로 키보드를 내리지 못함. 다른 뷰를 터지하면 키보드가 내려가도록 구현 override func touchesBegan(_ touches: Set, with event: UIEvent?) { self.view.endEditing(true) } touchesBegan 메서드를 사용하여 사용자가 뷰를 클릭 시 endEditing을 호출하고 true 값을 줍니다 키보드를 끄는 메서드에요 이만 퇴근하겠습니당 2022. 2. 16. Kotlin : 화면 클릭 시 키보드 내리기 ( EditText ) 안녕하세요 전진시입니다 모바일에서 키보드를 사용하는 동작을 할 때 키보드가 아닌 다른 화면을 클릭 시 키보드를 내리는 동작을 프로그래밍해보겠습니다! InputMethodManager를 임포트하고 객체를 하나 생성해주세요! 저도 소스는 정확히 분석은 못했으나 이렇게 작성하면 되더라구요 private fun hideKeyboard() { val view = this.currentFocus val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager inputMethodManager.hideSoftInputFromWindow(view?.windowToken, 0) } 화면 클릭 시 위 함수를 호출하는 부.. 2022. 2. 16. Xcode : could not find any information for the class named 안녕하세요 전진시입니다! 또 다시 발견한 에러! objective-c로 작성된 프로젝트에서 클래스 하나 생성해서 작업해야할 일이 생겨서 기억을 더듬더듬 되짚으며 보다가 만났습니다 View를 하나 만들고 .m파일과 연결하려는데 Connect 버튼을 누르니 대충 클래스 정보가 없다구 뜨네요 StoryBoard에는 생성한 클래스를 연결했는데 뭔가 더 작업이 필요한것 같습니다. 해당 프로젝트의 .m 파일과 .h파일 .storyboard 파일 세가지 모두 프로젝트 화면 오른쪽에 있는 인스펙터에서 Target Membership을 체크해주세요 그럼 해결! 2022. 2. 16. IOS : 하이브리드 앱 쿠키 저장 및 관리 jsession ! 안녕하세요 전진시입니다 방금 쿠키때문에 8시간 날리고 왔습니다 ㅋㅋ,,ㅠㅠ 바로 본론으로 가면 저는 네이티브 화면에서 로그인을 하고 성공 시 웹뷰로 넘어가는 부분을 개발하고 있는데 로그인 api를 찌르고 응답(Response) 헤더에서 sessionid가 담긴 데이터를 저장하여 웹뷰를 돌아다닐때 해당 쿠키를 들고 다니면서 로그인 세션이 끊기지 않게 하려고 했습니다 let httpResponse = response as? HTTPURLResponse, let fields = httpResponse.allHeaderFields as? [String : String] HTTPURLResponse 객체를 생성해서 allHeaderFields로 헤더를 까고 모든 필드를 가져온 후 거기서 쿠키값을 꺼내 Common.. 2022. 2. 16. Swift : Custom Table View 생성 안녕하세요 전진시입니다 이번 포스팅은 https://jpointofviewntoe.tistory.com/39 Kotlin: ListView 만들기 리스트 뷰가 필요할 때마다 인터넷에 검색을 했는데 이젠 검색하지 않으려고 직접 listView에 대해 정리해서 강제기억하려합니다.,. 먼저 listView는 항목 목록을 표시할 수 있는 컴포넌트입니다! lis jpointofviewntoe.tistory.com 지난 포스팅 android 에서 listView 만들기에 이어 TableView를 만들겠습니다ㅎㅎ ListView와 TableView는 항목 리스트를 만든다는 점에서는 같지만 ios와 android로 크게 구분되어 있어 이어서 포스팅한다는 말이 안맞을지도 모르겠네요 ,, 그럼 바로 시작하겠습니다! 🐥저는.. 2022. 2. 14. Android : Activity has leaked window 에러 해결 안녕하세요 전진시입니당 이번 포스팅은 방금 만난 에러해결 방안입니다! Activity has leaked window 위 에러는 액티비티 종료 전 생성되어 있는 dialog를 dismiss 해주지 않아서 액티비티 종료 후 발생하는 에러입니다. 저는 dialog 생성되면서 다른 문제로 앱이 튕겨서 강제종료되었구 이때 발견했습니다 ,.;;ㅎ 해결방법은 onDestory() 혹은 onPause() 함수에서 dialog.dismiss를 해주면 됩니다! 2022. 2. 10. Kotlin : Array convert to String! [jointoString] 안녕하세요 오늘은 제목을 영어로 써보았어요 하루에 한번씩 짧게라도,,, 연습,,, 저는 한국어밖에 못해요ㅜ 이번 포스팅은 배열을 문자열로 바꿔보겠습니다 그냥 .toString을 사용했더니 암호화된것 같은 문자열로 바뀌더라고요,,,(이건 제가 소스를 다 분석 못해서 생긴 현상일 수도 있습니다) 서칭하다가 좋은 메서드를 발견했는데 jointoString 2022. 2. 8. SWIFT : Text에 밑줄(underLine) 주기 또 왔슴니다 이번엔 텍스트 아래에 밑줄을 줄거에요 전 UIButton에다가 사용했습니다 아래처럼 선언하시고 let loadUnderLine: [NSAttributedString.Key: Any] = [ .font: UIFont.systemFont(ofSize: 15), .underlineStyle: NSUnderlineStyle.single.rawValue] 아래처럼 사용하시면 됩니다! let attributeString = NSMutableAttributedString(string: "비밀번호 초기화", attributes: loadUnderLine) resetBtn.setAttributedTitle(attributeString, for: .normal) 그럼이만! 2022. 1. 25. SWIFT : setBackgroundImage가 안될때!!! 안녕하세요 전진시입니다.. 야근중입니다,,, 야근하다가 몰랐던걸 발견해서 기록하러 왔습니당 UIButton background에 이미지를 셋팅하려하는데 인스펙터에서 적용하면 적용되지만 프로그래밍으로 적용하는건 왜인지 적용이 안되더라구요,, 이럴땐 아래 캡쳐본에서 Button 카테고리 안에 두번째 메뉴 Styled을 Default로 주시면 됩니다! 이유는 다음에 ! 그럼이만! 2022. 1. 25. SWIFT : 키보드 숨기기 내리기 닫기! 안녕하세요 전진시입니다 ! 이번 포스팅은 UITextField 사용시 키보드 제어하는 방법입니다 ㅎㅎ 제어라고 할 것도 없이 그냥 키보드 내리는 방법이에요 허허 UITextField 영역을 클릭하면 기기 쪽에서 "사용자가 텍스트를 입력하려 하는구나!" 하고 텔레파시가 가지만 막상 사용자가 텍스트 작성을 완료하면 기기는 텔레파시를 받지 못합니다 텔레파시를 보내야해요 감사하게도 UIKit안에 UIEvent 함수 -> touchsBegan가 있습니다 ! override func touchesBegan(_ touches: Set, with event: UIEvent?) { self.view.endEditing(true) } 위 코드는 키보드밖의 다른 화면을 클릭하면 TextField 편집이 끝났다고 알립니다! .. 2022. 1. 20. android : SQLite 1. execSQL 와 rawQuery 의 차이점 execSQL -> SELECT 명령어를 제외한 모든 SQL 문장을 실행한다. rawQuery -> SELECT 명령어를 사용하여 쿼리를 실행할 때 사용 쿼리의 결과는 Cursor 객체로 반환 Cursor 객체는 쿼리에 의하여 생성된 행들을 가르킨다 Curosr는 DB에서 결과를 순회하고 데이터를 읽는 데 사용되는 표준적인 메커니즘 1. Cursor를 탐색하는 코드 moveToFirst -> cursor를 첫번째 인덱스의 item을 가리키도록 조작, item이 없다면 false를 반환 moveToNext -> cursor를 현재 item의 다음 item을 가리키도록 조작, 현재 item이 마지막이라면 false를 반환 2022. 1. 13. 이전 1 ··· 10 11 12 13 14 15 다음 728x90 반응형