#Preview Xcode에서 CoreData, SwiftData를 Preview에서 보기 위해서는 @Query로 조회한 데이터를 사용할 수 없습니다. 이럴 때는 직접 데이터를 만들어서 테스트하는 방법이 있습니다. 우선 ModelConfiguration 객체를 인 메모리 only 행태로 생성합니다. 그리고 테스트 객체를 만들기 위해 ModelConfiguration 를 통해 ModelContainer를 만듭니다. 마지막으로 만들 때 사용할 모델을 추가해 줍니다. 그리고 이제 Preview에서 사용할 새로운 테스트 객체를 생성합니다. Container를 만들 config 객체는 isStoredInMemoryOnly를 true로 설정합니다. #Preview(traits: .sizeThatFitsLayout)..
Obsidian 이미지 링크 옵시디언을 사용하면 다른 노트앱에 비해서 이미지를 사용하는 빈도가 크지는 않습니다. 아무래도 이미지 내장 시 git에 저장할 내용이 많아지기 때문이죠. 마크다운으로 이미지를 추가하는 경우 다음과 같은 태그를 사용해서 이미지를 링크합니다. 로컬 이미지 ![[이미지 주소]] 웹 이미지 ![](이미지 주소) Obisidian 이미지 사이즈 조정 이미지 사이즈를 변경하려면 파이프( | ) 기호를 이용해 사이즈를 지정합니다. 보통 맥에서 스크린 샷을 찍어서 옵시디언에 넣으면 사이즈가 너무 커서 문제가 되는데 다음 태그를 이용해서 이미지를 줄일 수 있습니다. ![[이미지 주소|100]] 마찬가지로 웹 이미지의 경우 이미지 이름을 넣는 곳에 파이프 기호를 추가해줍니다. ![|100](이미..
iOS 개발시 UIPasteboard 클래스를 이용해서 클립보드에 저장된 데이터를 읽고 쓰는 것이 허용됩니다. UIPasteboard 클래스의 general 속성을 이용해서 pasteboard 객체를 가져와 string 속성에 저장할 수 있습니다. SwiftUI 에서도 동일하게 사용할 수 있습니다. 다음 예제는 문자열을 클립보드에 저장하는 기능을 합니다. let p = UIPasteboard.general p.string = "OK" 반대로 값을 가져와 사용해야 하는 경우 다음과 같이 처리합니다. if let str = p.string { // str 은 클립보드의 데이터 } 다만 iOS 14 이전에는 사용자 동의 없이 클립보드 데이터를 액세스 할 수 있었습니다. 하지만 보안상 문제가 되어 사용자의 동의..