728x90 반응형 프로그램 개발해서 돈벌기165 메모리에 표시되는 값 형식과 참조 형식 값 형식 정수, 실수, 불린, 문자와 같은 기본 자료형과 구조체, 열거형은 값 형식으로 분류합니다. 값 형식으로 선언된 값은 메모리의 스택 영역에 저장됩니다. var a = 10 값 형식으로 저장된 값을 비교할 때는 스택에 저장된 실제 값을 비교합니다. 참조 형식 클래스, 클로저는 참조 형식으로 분류합니다. 참조 형식의 값을 저장하기 위해서는 스택과 힙 영역에 각각 하나씩 모두 두 개 메모리 공간이 필요합니다. 참조 형식 값은 힙 영역에 저장하고 스택 영역에는 힙 영역에 저장된 값의 주소가 저장됩니다. var str:NSString var : NSString = NSString(string: "hello") 참조 형식 값은 보통 큰 경우가 많아 주소를 전달합니다. 참조 형식 값 비교는 ==를 사용하고 스.. 2023. 11. 19. 메모리 개념과 사이즈 용어 및 메모리 영역별 사용처 메모리 개념 메모리는 1과 0을 저장할 수 있는 저장공간입니다. 메모리는 전압 차이를 이용해서 데이터를 저장합니다. 전기가 들어오면 1, 전기가 들어오지 않으면 0이 저장됩니다. 0과 1을 저장하는 기본 단위는 비트입니다. 8개 비트가 모이면 바이트가 됩니다. 1바이트는 모드 비트가 0일때와 모두 1일 경우까지 256개의 경우의 수를 표현할 수 있습니다. 양수만 저장할 경우 0 ~ 255까지 저장할 수 있고 양수와 음수 모두를 저장할 경우에는 -128 ~ 127까지 저장할 수 있습니다. 22를 8자리 이진수로 표현하면 00010110입니다. MBS: Most Significant Bit (최상위 비트) LSB: Least Significant Bit (최하위 비트) 음수 저장을 위한 "2의 보수" 방식 .. 2023. 11. 19. SwiftUI에서 그리드 아이템을 한꺼번에 보여 주지 않고 12 개씩 나누어서 보여 주기 100개 아이템을 초기 20를 보여 줍니다. 그리고 "더 보기" 버튼 클릭 시 12개씩 추가적으로 보여 줍니다. data 배열에 prefix를 이용합니다. LazyVGrid는 SwiftUI에서 그리드 레이아웃을 만들기 위한 컨테이너 뷰 중 하나입니다. 이 뷰는 데이터의 컬렉션을 가져와 그리드 형식으로 표시하는 데 사용됩니다. 각 항목은 그리드의 셀에 배치되며, 필요에 따라 필요한 만큼만 렌더링됩니다. import SwiftUI struct ContentView: View { let data = (1...100).map { "Item \($0)" } @State private var visibleItemCount = 20 // 초기에 보이는 항목 수 @State private var additionalIt.. 2023. 11. 13. flutter iOS에 권한 요청 방법 : 주소록에 접근 권한 요청하기 swift를 사용해서 xcode에서 개발을 진행할 경우 주소록 정보가 필요한 경우가 있습니다. 이 경우 "Info.plist" 파일에 주소록 접근 사유를 입력하면 됩니다. NSContactsUsageDescription Access Contracts 그러나 flutter에서 iOS -> Runner -> Info.plist 에 위 정보를 입력하여도 권한 요청 창이 뜨지 않습니다. 디버그 / 릴리즈 모드와 상관 없습니다. iOS -> Runner -> Podfile에 아래 코드를 추가하면 해결됩니다. post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(ta.. 2023. 9. 20. 안드로이드 13 (Target SDK API 33) 이후부터 포그라운드 서비스 시작 시 자동으로 시작하던 알림(Local Notification)이 동작되지 않는 경우 해결 방법 갤럭시 S23(안드로이드 13)에서 기존 포그라운드 서비스를 사용하던 앱에서 자동으로 시작하던 알림이 동작을 안하는 경우가 발생했습니다. 안드로이드 13에서 알림에 대한 권한 설정 부분에 변경이 생겼습니다. 우선 AndroidManifast.xml에 "POST_NOTIFICATIONS"을 추가해야 합니다. Target SDK API 33인 경우에만 알림 권한 요청을 해야 합니다. 개발자가 원하는 위치에 아래 코드를 호출해서 알림에 대한 권한 요청을 진행합니다. if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.TIRAMISU) { if(checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) != PackageManage.. 2023. 9. 20. flutter에서 iOS 기기에 릴리즈(Release) 모드로 커맨드라인(command line)에서 실행하기 flutter devices 현재 연결된 디바이스 종류를 표시 합니다. 아래와 같은 결과를 볼수 있습니다. iPhone (mobile) • 00009010-000228D93D6B402E • ios • iOS 16.6.1 20G81 macOS (desktop) • macos • darwin-x64 • macOS 13.5.2 22G91 darwin-x64 Chrome (web) • chrome • web-javascript • Google Chrome 117.0.5938.62 디버그 모드로 실행할 경우 "flutter run" 명령어를 이용합니다. 릴리즈 모드로 실행 명령어는 아래와 같습니다. flutter run --release -d 00009010-000228D93D6B402E 디바이스 목록에서 기기 .. 2023. 9. 15. 이전 1 2 3 4 5 6 7 8 ··· 28 다음 728x90 반응형