기본 콘텐츠로 건너뛰기

Xcode swift

http://en.swifter.tips/selector/

notification 을 observe 할일이 있어 찾아봄.

NSNotificationCenter.defaultCenter().addObserver(self,
        selector: "callMe", name: "CallMeNotification", object: nil)

selector는 그냥 string이네
대신 저 callMe

@objc private func callMe() {
    //...
}

이렇게 써야하는 것.
참으로 불완전하다.

unwind(segue 되돌아가기)도 좀 헤메었다.
부르는 쪽에서 exit를 아래와 같이 만들고 (함수명은 자유)

@IBAction func unwindToHomeDetail(segue:UIStoryboardSegue) {

}

unwind를 실행하는 쪽에선 Navigation Controller 안에 있지 않으면 작동하지 않았다.
두 개를 동시에 쓸땐 어케되나.


도중 cocoapod이 무한 install 대기 시
pod repo remove master
pod setup
pod install
아이고 고맙습니다.

괴로운 문제가 또

UIView에 테두리를 어떻게 두르느냐?
코드로 안하고 방법이 없나.

Picker로 사진을 찍을때 1280x960 으로 처리할 수 있다.

scale 문제

    func scaleImage(image: UIImage)->UIImage {
        // 이미지를 354*472 로 변환, po
        let sizeRatio:CGFloat = 354.0/image.size.width/2
        
        let size = CGSizeApplyAffineTransform(image.size, CGAffineTransformMakeScale(sizeRatio, sizeRatio))
        let hasAlpha = false
        let scale: CGFloat = 0.0 // Automatically use scale factor of main screen
        
        UIGraphicsBeginImageContextWithOptions(size, !hasAlpha, scale)
        image.drawInRect(CGRect(origin: CGPointZero, size: size))
        
        let scaledImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        
        return scaledImage
    }

/2를 해준 이유는 scale이 2라서.
(lldb) po scaledImage.size
▿ CGSize
  - width : 177.0
  - height : 236.0

scale을 1로 지정해 주는 게 맞지 않나?

Python 코드를 고치기 시작
    def write_imgwithlandmarks(self):
        img = self.img
        for point in self.landmarks[0:15]:
             cv2.circle(img, (int(round(point[0])), int(round(point[1]))), 2, (255, 0,  0), 5)
        cv2.imwrite("result.png", img)
        output = []
        raw = open("result.png", "rb").read()
        width, height, _, _ = png.Reader(bytes=raw).read()
        data = raw.encode("base64").replace("\n", "")
        return data

label, textEdit padding 문제
그냥은 안되고 
에서 언급한 것 처럼 Text : Attributed 로 전환.
align bar 에서 맨 오른쪽 ... (more) 버튼을 눌러서 indent / first Line 값을 입력

근데 지우면 말짱 도루묵.

Array도 정리
let Collection = [
  ["a", "b"],
  ["C"]
]

이러면 NSArray

let Collection:[[String]] = [
  ["a", "b"],
  ["C"]
]

이렇게 써야 Swift Array

댓글

이 블로그의 인기 게시물

세상 간단한 https(+secured websocket): Caddy

nginx, apache2 같은 걸로 매번 certbot 연동을 통해 https 하는게 지겨워서 알아보니 Caddy라는게 있더라. 설치법은 강하게 크기 위해 알아서 해본다. # cat /etc/caddy/Caddyfile your.shitty.site:8123 {   proxy / localhost:9123 {     websocket     transparent   } } 이건 외부에서 8123으로 들어오는 걸 내부적으로 9123로 맞춰서 https 맞춰주는 reverse proxy. 만일 port를 생략하면 # cat /etc/caddy/Caddyfile your.shitty.site {   proxy / localhost:9123 {     websocket     transparent   } } 기본포트인 443으로 되어 https://your.shitty.site 로 접속이 된다. 요새 말썽이던 cloudflare 버리고 netlify domain이랑 caddy를 쓰니까 앓던 이가 빠진 느낌. 이 조합은 당분간 계속 써야겠다 싶다.

LG G Pro 2 Custom Rom +Rooting 기록

선 루팅 https://forum.xda-developers.com/lg-g3/general/guide-root-lg-firmwares-kitkat-lollipop-t3056951 1.2버전 스크립트 모드로. echo Looking for LG serial port.. echo. adb.exe wait-for-device 여기에서 정체 상태여서 강제로 adb kill-server 했더니 알아서 재부팅하심. 폰에선 "펌웨어 업데이트"화면이 나오고 Phone found at COM5! Rooting phone.. If you don't see the SuperSu installer script runs within about a minute, then the root failed. Author : blog.lvu.kr SPECIAL COMMAND : ENTER, LEAVE ## 이런 상황이 됨. #이 느린 속도로 하나씩 증가하고 있음. 한 시간 기다려도 성과없음. 뭐 몇번해봐도 안되고 결국 불안하긴 하지만 kingroot.net  로 설치 롤리팝이니까  https://drive.google.com/file/d/0B4kfGU1z_PClQ3AyM2lKOGR1S3M/view  이걸 받아서 압축 풀기. d838recovery.bat 만 있어서 당황스럽긴한데 실행하고 1번 하니까 리커버리 모드 진입까진 잘 되는 듯. adb sideload 라는게 있어서 해봄. Advance에서 adb sideload 선택하고 USB연결한 PC에서 adb sideload RR-N-v5.8.5-20171010-d838-Final.zip 하니까 착착 잘 진행됨. 이제 흉측한 U+LTE 가 없어짐. ㅇㅋ 군더더기 없고 깔끔한데 남은 건 gapps 를 설치해야함. http://opengapps.org/  를 권해줘서 갔는데 지옥 느림. ARM + 7.1 + stock 이 기본이...