묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[Lv.1] iOS 17 앱 개발 기초 - SwiftUI로 시작하기
NavigationBarItems Deprecated
NavigationbarItem -> .toolbar로 바뀐 코드가 궁금합니다.
-
미해결앱 개발 기초부터 실전까지 하나로 끝내는 Swift & iOS 마스터 클래스
메모의 그룹을 클릭할때마다 항목이 틀리게 나옵니다.
안녕하세요. 강사님메모앱을 실습하던중에 질문 사항이 있어 이렇게 글을 올립니다.그룹을 선택하면 그 그룹에 속한 메모들이 제대로 보이긴 한데, 그게 때에 따라서 틀려진다는게 이해할 수가 없어서 질문드립니다.제가 어디서 잘못 코딩을 했는지 그 부분을 찾지를 못했습니다.그래서 이미지라도 올립니다. 위 그림 처럼 같은 그룹인데도 그룹을 클릭할때마다 메모 리스트의 항목이 틀리게 나옵니다.한번 봐주시면 감사하겠습니다.
-
해결됨앨런 Swift Concurrency for Swift 6 (Part-1)
참고 코드 자료 7-StructuredConcurrency(102, 103줄) 오타?
자주하는 질문 모음링크: https://pointed-earwig-996.notion.site/Swift-Concurrency-for-Swift-6-Part-1-22eecb0b83154ac28c7c66446f6e54e1?pvs=4 자주하는 질문을 먼저 확인 부탁드리며, 질문은 최대한 구체적으로하셔야 빠르게 답변드릴 수 있습니다. [질문 예시](1) 몇강, 몇초의 내용이 잘 이해가 안갑니다. (제가 적어놓은 강의 번호 "10강, 7분 강의 내용 중에... " )(2) 강의자료 몇페이지의 내용이 잘 이해가 안갑니다.(3) 정확하게 어떤 포인트에 대한 내용이 이해가 안갑니다. 다시 설명해주실 수 있나요? 동시성 강의 코드파일 7번(7-StructuredConcurrency(102, 103줄) ) 내용인데요전체코드func fetchAsyncLetTwoImages() async throws -> (UIImage, UIImage) { let start = Date() /// 구조적 동시성 작업의 생성 (하위 작업의 생성) async let image1 = try await fetchImage(num: 1) async let image2 = try await fetchImage(num: 2) let images = try await (image1, image2) print(Date().timeIntervalSince(start).formatted(.number.precision(.fractionLength(1)))) return images } 이렇게 되어 있는데 async let image1 위치에서 fetchImage(num:1)의 값을 기다리는 형태입니다. 아마도 이렇게 바뀌는게 맞지 않나 싶습니다. /// 구조적 동시성 작업의 생성 (하위 작업의 생성) async let image1 = fetchImage(num: 1) async let image2 = fetchImage(num: 2) 그런데 위의 코드는 순서대로 결과값을 받는 경우이고 아래 코드는 동시에 돌려서 빨리 나오는 결과값이 먼저 반영되나 싶었는데 그것도 애매하네요.A코드 /// 구조적 동시성 작업의 생성 (하위 작업의 생성) async let image1 = try await fetchImage(num: 1) async let image2 = try await fetchImage(num: 2)B코드 /// 구조적 동시성 작업의 생성 (하위 작업의 생성) async let image1 = fetchImage(num: 1) async let image2 = fetchImage(num: 2)실제로 두 코드를 돌려보니 A코드는 4.8 ~ 3.2초 걸렸는데 대략 평균적으로 3.6초 걸리고, B코드는 4.2 ~ 2.5초 걸려서 대략 평균적으로 3.3초 정도 걸리더라구요.image1과 image2는 try await Task.sleep(for: .seconds(2))가 걸려 있어 각각 2초씩이어서 동시에 돌아가서 결과를 받으면 2초 조금 넘을 것 같고 순서대로 받으면 4초 조금 넘을 것입니다. 그런데 두 코드 모두 4초가 안걸리는 경우가 많았다는 점에서 동시성이 적용되는 것 같습니다. 그런데 어떤 속도의 차이가 있을까 했는데 별 차이가 없는 느낌이기도 합니다.Claude에게 물어보니 A코드가 동시성의 효과를 보지 못한다고 하지만 속도 면에서 B코드가 특별히 빠르다고 단정하기도 애매해서요. 오타라고 생각되지만 A코드는 어떤 의미가 있을까 궁금합니다.
-
해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
기초 앱 4강 Type Any -> UIButton
뒤에 설명이 나오는지는 아직 모르겠는데 수강자 분들 참고하시라고 적어놓습니다... 강의에서 @IBAction 함수 선언할 때 sender Type 을 Any 에서 UIButton 으로 변경하는데 그 이유가 이건 sender 의 타입이 UIButton 이라는 걸 명확하게 하는 거라고 보면 되고 Any 로 놔두면 나중에 sender 를 써야할 때는 타입캐스팅을 해야 사용이 가능합니다. [UIButton] 인 경우 sender.backgroundColor = ... [Any] 인 경우if let myButton = sender as? UIButton {sender.backgroundColor }
-
미해결해커를 위한 iOS 앱 모의 해킹 전문 과정
3uTools Files 로딩 후 에러 (에러코드 : 13)
iphone 기종 : 6Sios 버전 : 14.4.2현재, 사진과 같이 3uTools 실행 후 Files에 들어가면 뱅글뱅글 돌면서 디렉토리 구조가 표시되지 않고 에러코드 13을 반환하고 있습니다. 혹시 이 문제에 대한 해결 방법을 알고 계실까요? conduit 2와 filza는 모두 설치된 상태이며, 케이블도 정품 케이블을 사용 중입니다. window에서 진행해도 동일했습니다.
-
미해결Flutter 중급 2편 - 실전 앱 개발 - 미국 주식 앱 (with 클린 아키텍처)
api 제한량 25회
{ "Information": "We have detected your API key as G46I847RIDQ4081U and our standard API rate limit is 25 requests per day. Please subscribe to any of the premium plans at https://www.alphavantage.co/premium/ to instantly remove all daily rate limits." }하루 제한량 25회로 인해 테스트하기가 힘드네요.. IP 기반 검증인지 API key를 새로 발급받아도 똑같습니다.CompanyListings뿐만 아니라 ComapnyInfo와 IntradayInfo도 로컬 캐싱을 해놔야 테스트/실습이 용이해보입니다 ㅠ
-
미해결해커를 위한 iOS 앱 모의 해킹 전문 과정
ios 14.4.2 Appsync 설치 오류
nodelete-net.angelxwind.appsyncunified.deb 파일을 아이폰에서 실행시켜서 akemi 소스를 대체하려고 했는데, deb 파일이 14.4.1 버전까지만 설치가 가능하고 그 이상 버전부터는 호환되지 않는다고 합니다ㅠ 어떻게 해야 할까요?
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
40번 수업이 완료가 되지 않아요.
40번 수업이 완료가 되지 않아마지막 퀴즈를 풀수가 없습니다.확인 부탁해요.
-
해결됨앨런 Swift Concurrency for Swift 6 (Part-2)
3강 스레드 제어권 관리 질문드립니다
안녕하세요!3강 6분 30초 부터 “func2가 스레드 제어권을 운영체제에 양보했다가 func2의 실행이 끝나면 재개되고 함수가 리턴” 이라는 내용이 나오는데요.관련하여 아래 세 가지 문의 드립니다.재개 <- 운영체제에서 func2로 스레드 제어권이 돌아온다는 건가요? 어떤 의미로 쓰인 말인지 궁금합니다.func2가 리턴 될 때 스레드 제어권이 func2에 있었다면(1의 상황), 리턴 시점에 제어권도 func1로 돌아가는 게 맞나요? 결과적으로 func2가 리턴 될 때 스레드 제어권이 func2에서 func1로 양도되는 것은 GDC / Swift Concurrency 동일한건가요? 답변 주시면 감사하겠습니다. (_ _)
-
해결됨iOS 앱 개발자 취업을 위한 시작, Swift 문법 마스터
앱에 누락되어 있어요
앱에 COW 내용이 누락되어 있네요
-
해결됨Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)
끝말잇기 로직 구현 중 ios 16 (iphone 16) 시뮬레이터 영어 입력 불가
안녕하세요!영상에서처럼 과거에는 한글입력이 어려웠는데, 이번에 새로 맥미니 m4를 구매한 후 최신 xcode를 사용해서 다시 공부하던 중입니다. 시뮬레이터가 오히려 지금 한글은 입력이 잘되는데(자간 모음 글자형태로 잘 만들어짐)영어가 입력이 안되네요,,,, 시스템상에서 한/영 은 잘 왔다갔다하고, 다른 웹이나 프로그램에선 한/영 잘 되는데, 시뮬레이터 안에서만 영어가 입력이 안되는건 혹시 어떤 문제인지 아실까요?
-
미해결Flutter 중급 2편 - 실전 앱 개발 - 미국 주식 앱 (with 클린 아키텍처)
프로젝트 전체 소스코드
프로젝트 전체 소스코드는 어디에서 볼 수 있을까요?
-
해결됨앨런 Swift Concurrency for Swift 6 (Part-2)
10번 강의 관련하여 질문드립니다.
안녕하세요. 10강 내용 중 질문이 있습니다.6분 20초 정도 시간대인데요.위 코드의 106 line에서의 쓰레드가 2번 쓰레드일 경우, doSomething() 메서드 자체가 2번 쓰레드에서 실행된다고 말씀하셨는데요. doSomething() 메서드가 2번쓰레드에서 실행될지, 다른 쓰레드에서 실행될지는 알 수 없는 것 아닌가요? 즉, async 메서드가 실행되는 쓰레드와 await 호출 직전 시점의 쓰레드가 반드시 같지는 않을 수도 있는 것으로 알고있어서 질문드립니다. 감사합니다.
-
해결됨앨런 Swift Concurrency for Swift 6 (Part-2)
ImageProject 관련 문의
안녕하세요,ImageProject 관련하여 설명해주신 내용 중 궁금한 점이 있어 문의드립니다. 1.await imageDownloader.cache.keys.contains(url)와let keys = await imageDownloader.cache.keysif keys.contains(url)중에후자를 사용하는 것이 액터 재진입에 있어 더욱 안정적인 코드라고 말씀하셨는데요액터 재진입 관점에서는 전자의 코드가 actor isolated 된 상태에서 contain 여부까지 확인이 되고후자의 코드는 key값을 가져오고 contain 여부를 판단하는 시점에 actor에 다른 태스크가 진입하여 값이 변경될 가능성이 있기 때문에전자가 더 안정적인 코드가 아닌가요?어떤 이유 때문에 후자의 코드를 사용해야하는지 다시 설명해주시면 감사하겠습니다. 2. privatelet storage = DiskStorage()의 코드는Global actor 'ImageDatabase'-isolated default value in a actor-isolated context오류를 발생시켜 storage를 추후에 초기화 하도록 수정해주셨는데요privatelazyvar storage = DiskStorage()으로 하면 storage가 호출되는 시점에 초기화 되니 그 때에는 이미 actor의 격리영역이 정해진 상태라 이상이 없을 것이라고 생각했습니다만같은 오류가 발생하더라구요.@ImageDatabase 로 격리되어 있기 때문에 비동기적으로 초기화되어야 하지만 그렇지 못하기 때문에 오류가 발생하는 것인지 궁금합니다. 감사합니다.
-
미해결MAUI [Cross-Platform Applications & C#]
8)MVVM Pattern실습 + Builder Pattern +이벤트처리 방법 관련질문
프로젝트 따라가면서 이해안되는 부분이있어 질문 남깁니다!mvvm 바인딩이 안되는것같아 질문드립니다.( 다른파일 ex) listdetaileasyviewmodel은 잘됩니다)firstpage 관련 강의를 따라가고 있던중 binding 이안됩니다... 올려주신 학습자료는 .net 8.0 으로 변경후 (.net 7.0은 지원중단되어 안되더라구요 ) 실행하면 firstpage에서 binding이되어 중단점이 찍히는것을 확인했으나 .net 9.0 환경에서 작성한 코드가 binding이 DataRefresh 에 안찍힙니다. firstpage xaml에서 binding에 자동완성으로 DataRefreshCommand 가 뜨는 것은 확인했습니다. 혹시 실수를 하였나 다시 살펴봐도 오타가있거나 경로를 잘못하였나 살펴봐도 다른점이없는데 혹 .net 9.0에서 바뀐것이 있는지 다른 설정을 해줘야하는것이 있는지 궁금합니다. 혹시몰라 코드 첨부합니다. [FirstViewModel.cs]using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MAUI_MVVM_STUDY2.ViewModels{ public partial class FirstViewModel : BaseViewModel { [ObservableProperty] Person person; //함수와 연결하고자 할때는 xaml 에서 ClearCommand를 바인딩해주면됨 //비동기 함수로 생성할 경우 aync키워드를 동일하게 사용해주면됨 [RelayCommand] public async void DataRefresh() { Person abc = new Person(); abc = new Person(); abc.Age = 30;abc.Name = "KIM"; this.Person = abc; } }}[FirstPage.xaml]<?xml version="1.0" encoding="utf-8" ?><ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="MAUI_MVVM_STUDY2.Views.FirstPage" xmlns:vm="clr-namespace:MAUI_MVVM_STUDY2.ViewModels" xmlns:m="clr-namespace:MAUI_MVVM_STUDY2.Models" x:DataType="vm:FirstViewModel" xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit" Title="FirstPage"> <VerticalStackLayout> <Label Text="Welcome to .NET MAUI!" VerticalOptions="Center" HorizontalOptions="Center" /> <Label Text="{Binding Person.Age}"/> <Button Text="hello" IsEnabled="True" > <Button.Behaviors> <toolkit:EventToCommandBehavior EventName="Clicked" Command="{Binding DataRefreshCommand}" /> </Button.Behaviors> </Button> </VerticalStackLayout></ContentPage>[AppShell.xaml 일부 ] <ShellContent Shell.NavBarIsVisible="true" Title="First" Icon="icondrawing.png" ContentTemplate="{DataTemplate views:FirstPage}" Route="FirstPage" />[mauiprogram.cs 일부]builder.Services.AddSingleton<FirstPage>();builder.Services.AddSingleton<FirstViewModel>();이상입니다. 학습자료의 코드와 다른점을 아무리 찾아봐도 안보이는데 따로 해줘야할것이 있을까요?
-
미해결성공적인 진짜 iOS 개발자 되기 [기초부터 실무까지]
패싱1강에서 강의중에 질문 있습니다.
패싱 1강에 20분쯤 강의에서 메모리에 올라오지 않고 메모리에 올라온다는 설명이 무슨 말인지 궁금합니다.
-
미해결MAUI [Cross-Platform Applications & C#]
안드로이드 에뮬레이터는 실행되는데 없다고 인식
.net maui 9.0 환경입니다. hyper 관련 에러가 떠서 강의따라서 갔더니에러는 더이상 뜨지않았습니다.하지만 안드로이드로 빌드를 할 시에 빌드만 30분 넘게걸리고 결국 실행되지않았습니다.(안드로이드 에뮬레이터는 실행됨, 하지만 무한로딩) 나중에는 xa0010: 선택한 디바이스가 실행되고 있지 않습니다.이런 에러가 뜹니다.이런 경우 어떻게 해야할까요?
-
해결됨앨런 Swift Concurrency for Swift 6 (Part-1)
비동기 반복문은 하나의 thread에서만 동작하게 되나요??
안녕하세요.강의를 통해 많은 도움을 받고 있습니다.!다름이 아니라, 17강 - 11분20초 부분에서 "작업의 결과를 모을 때는 하나의 thread에서만 동작하게 됩니다. 예를 들자면 2번 thread 하나에서만 비동기 반복문이 동작하게 되는거에요" 라고 설명을 해 주셨는데제가 이해한 바로는 'Swift Concurrency는 thread관점에서 벗어나서, Task라는 작업의 단위를 기준으로 비동기 관리를 한다' 라고 이해하고 있습니다.때문에, "비동기 반복문에서도 await을 통해 비동기 결과를 받고 있는데, 이 때 특정 thread에 고정된다는 것이 보장 될 수 있는건가?" 하는 궁금증이 생겨서 질문드립니다!만약 하나의 thread에 고정되어 있다면, group을 통해서 결과가 넘어오게 될 때, 자식 Task중 과도하게 오래걸리는 작업이 있다고 가정하면 비동기 반복문이 실행되는 특정 thread가 계속 blocking되는건가? 하는 의문이 들어서요,,,!
-
미해결Flutter 중급 1편 - 클린 아키텍처
가끔씩 ui가 깨지는? 현상이 있어서 질문드립니다.
강의 너무 잘 듣고 있습니다!강의를 듣고 앱을 만들어보고 apk, aab파일로 뽑아서 앱을 실행할 경우 간헐적으로 아래와 같이 버튼이 잘리고 텍스트가 사라지는 현상이 일어납니다. 텍스트가 사라지지 않는 버튼은 텍스트를 감싸는 패딩?이 사라져서 엄청 작아지곤 합니다. 이게 항상 그러는게 아니라 간헐적으로 이러는데 혹시 이런 현상을 경험해보신적이 있으시면 해결 방법 공유해주시면 감사하겠습니다 ㅠㅜ 구글링이나 ai한테 물어봐도 해결이 잘 안 되서 쉽지 않네요 ㅠ덕분에 플러터 실력이 많이 늘고 있습니다!! 감사합니다.
-
해결됨[Lv.2] SwiftUI 중급 - Core Data와 SwiftData로 앱 완성하기
ViewBuilder 강의 관련 질문입니다.
강의 관련된 질문은 언제나 환영입니다 😄코드 관련 상세하게 작성해주시면 더 좋아요! (상세코드를 붙여넣기 해주세요)마크다운을 사용해서 편리하게 글을 작성하세요먼저 유사한 질문이 있었는지 먼저 검색 해보는 습관~인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요LocalViewBuilder에서 numberPlate에 ViewBuilder 매크로를 사용해야되는 이유를 LocalViewBuilder에 선언된 ViewType을 사용하려면 이라고 설명해주셨는 데, 그것과는 상관없이 numberPlate 안에서 분기 처리된 항목들(view1, view2, view3)이 다 다른 타입(Text, VStack, Image)이라서 ViewBuilder 매크로를 사용해야되는 것이 아닐까요 ?? 설명 듣다가 헷갈려서 질문드립니다.