원래는 RxSwift의 PublishSubject처럼 구독하는게 목표였다. 하지만 SwiftUI의 UIViewRepresentable 은 onAppear() 같은 함수가 없고 최초 1회 호출되는 makeUIView(), 뷰에 변화가 생기면 매번 호출되는 updateUIView() 밖에 없다. Combine에는 PublishSubject 역할을 할것같은 PassthroughSubject라는게Read More →

애플에서 제공하는 예제: https://developer.apple.com/tutorials/swiftui/creating-and-combining-views Navigation View system image 목록: https://sfsymbols.comRead More →

http://asdf.com?index=1&page=2 같은 url에서 1, 2 같은 파라미터 값만 가져올 수 있다.   func queryStringParameter(url: String, param: String) -> String? { if let urlComponents = NSURLComponents(string: url), queryItems = (urlComponents.queryItems) {Read More →

NSButton 은 글자 색을 바꿀 수 없게 되어있다. 왜 이렇게 해놨는지 이해가 안된다. 그래서 약간 돌아가야한다.   먼저 NSButton을 상속받은 클래스를 만든다. #import <Cocoa/Cocoa.h> IB_DESIGNABLE @interface ColoredButton : NSButton @property IBInspectableRead More →

맥에는 기본적으로 카메라가 달려서 나오는데, 그래서 그런지 몰라도 카메라를 표시하기 엄청 쉬울 줄 알았다. 왠지 뷰 하나만 올리면 바로 나올 것 같은 느낌이었는데, 전혀 아니었다 ㅠㅠ   @import AVKit; @importRead More →

@import AVFoundation; NSArray *cameras = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; for (AVCaptureDevice *camera in cameras) { NSLog(@”%@”, camera.localizedName); } NSArray *audios = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; for (AVCaptureDevice *audio in audios) { NSLog(@”%@”, audio.localizedName); }Read More →

#define MAIN_WINDOW ((AppDelegate *)[NSApp delegate]).window #import “AppDelegate.h” [MAIN_WINDOW beginSheet:myWindow.window completionHandler:^(NSModalResponse returnCode) { // do }];   혹은 이렇게만 해도 된다. [[NSApp mainWindow] beginSheet:myWindow.window completionHandler:^(NSModalResponse returnCode) { // do }];  Read More →

안드로이드는 클래스만 호출하면 되는데, 맥은 그렇게 안되나 보다. 그래서 이렇게 번거롭다 싶은 코드로 호출을 해줘야한다. MyWindowController * myWindow = [[MyWindowController alloc] initWithWindowNibName:”MyWindowController”];   그나마 이런 식으로 줄여서 쓰는게 제일 편하지Read More →