불평하다 불만을 표출하다라는 표현으로 complain을 많이 사용하는데


유사하지만 조금 다른 상황에서 다른 느낌으로 쓸 수 있는 단어가 있습니다.


nagging whining 입니다. 


둘다 complaining과 의미는 유사하지만 nagging 은 엄마 아빠 혹은 선생님이 자식이나 제자들한테 구박하듯이 하는 말


'집에 일찍 들어와라 ', '숙제 왜 안했냐' 하는 등의 한국말로는 '잔소리' 에 가까운 느낌으로 사용하고요


whining 은 반대로 어린이들이 엄마 아빠에게 ' 맘 이거 사주세요 ' , ' 이거 왜 안해줘요 ' 라고 징징거리는 느낌으로 볼수 있다.



ex ) My mother is always nag me to clean 

      She is always whining about the weather.

Stop your whining.


바로 문장을 만들어보고 입으로 연습해보도록 하자.

'English > 생활영어' 카테고리의 다른 글

complaining & nagging & whining  (0) 2017.07.05
when it comes to  (0) 2016.09.09
as far as I'm concerned  (0) 2016.09.07
how is life treating you?  (0) 2016.09.02
disposable  (0) 2016.08.27
After you  (0) 2016.08.25

ios 개발중 사진촬영을 했을때 디폴트 앨범에 저장하지 않고

다른 사진첩을 만들어 그곳에 사진을 저장하고 싶을 때 아래의 코드를 사용해보자.


우선 swift 파일을 하나 생성하여 아래와 같이 코딩한다.(swift3 반영)

import Photos


class CustomPhotoAlbum{


    static let albumName = "MyCloset"

    static let sharedInstance = CustomPhotoAlbum()

    

    var assetCollection: PHAssetCollection!

    

    init() {

        

        func fetchAssetCollectionForAlbum() -> PHAssetCollection! {

            

            let fetchOptions = PHFetchOptions()

            fetchOptions.predicate = NSPredicate(format: "title = %@", CustomPhotoAlbum.albumName)

            let collection = PHAssetCollection.fetchAssetCollections(with: .album, subtype: .any, options: fetchOptions)

            

            if let _: AnyObject = collection.firstObject {

                return collection.firstObject! as PHAssetCollection

            }

            

            return nil

        }

        

        if let assetCollection = fetchAssetCollectionForAlbum() {

            self.assetCollection = assetCollection

            return

        }

        

        PHPhotoLibrary.shared().performChanges({

            PHAssetCollectionChangeRequest.creationRequestForAssetCollection(withTitle: CustomPhotoAlbum.albumName)

        }) { success, _ in

            if success {

                self.assetCollection = fetchAssetCollectionForAlbum()

            }

        }

    }

    

    func saveImage(image: UIImage) {

        

        if assetCollection == nil {

            return   // If there was an error upstream, skip the save.

        }

        

        PHPhotoLibrary.shared().performChanges({

            let assetChangeRequest = PHAssetChangeRequest.creationRequestForAsset(from: image)

            let albumChangeRequest = PHAssetCollectionChangeRequest(for: self.assetCollection)

            albumChangeRequest?.addAssets([assetChangeRequest.placeholderForCreatedAsset!] as NSArray)

        }, completionHandler: nil)

    }

    

}



기본앨범에 저장할때 사용했던


IImageWriteToSavedPhotosAlbum(image, self, #selector(AddClothesViewController.image(image:didFinishSavingWithError:contextInfo:)), nil)


위의 코드 대신 아래의 코드를 사용하여 저장한다.


ustomPhotoAlbum.sharedInstance.saveImage(image: image)


swift3 부터 Info.plist 파일에 설정했던 photoLibrary 사용권한을 넣는 것도 잊지 않도록 한다.

ios 10 이상의 버전부터는  카메라, 포토라이브러리, 캘린더, 리마인더, 연락처 등등..


모든 시스템 권한에 접근하기 위해 info.plist 파일에 아래와 같이 세팅해줘야 한다.



Calendar :

Key : Privacy - Calendars Usage Description
Value : $(PRODUCT_NAME) calendar events

Reminder :

Key : Privacy - Reminders Usage Description
Value : $(PRODUCT_NAME) reminder use

Contact :

Key : Privacy - Contacts Usage Description
Value : $(PRODUCT_NAME) contact use

Photo :

Key : Privacy - Photo Library Usage Description
Value : $(PRODUCT_NAME) photo use

Bluetooth Sharing :

Key : Privacy - Bluetooth Peripheral Usage Description
Value : $(PRODUCT_NAME) Bluetooth Peripheral use

Microphone :

Key : Privacy - Microphone Usage Description
Value : $(PRODUCT_NAME) microphone use

Camera :

Key : Privacy - Camera Usage Description
Value : $(PRODUCT_NAME) camera use

Location :

Key : Privacy - Location Always Usage Description
Value : $(PRODUCT_NAME) location use

Key : Privacy - Location When In Use Usage Description
Value : $(PRODUCT_NAME) location use

Heath :

Key : Privacy - Health Share Usage Description
Value : $(PRODUCT_NAME) heath share use

Key : Privacy - Health Update Usage Description
Value : $(PRODUCT_NAME) heath update use

HomeKit :

Key : Privacy - HomeKit Usage Description
Value : $(PRODUCT_NAME) home kit use

Media Library :

Key : Privacy - Media Library Usage Description
Value : $(PRODUCT_NAME) media library use

Motion :

Key : Privacy - Motion Usage Description
Value : $(PRODUCT_NAME) motion use

Speech Recognition :

Key : Privacy - Speech Recognition Usage Description
Value : $(PRODUCT_NAME) speech use

SiriKit :

Key : Privacy - Siri Usage Description
Value : $(PRODUCT_NAME) siri use

TV Provider :

Key : Privacy - TV Provider Usage Description
Value : $(PRODUCT_NAME) tvProvider use

+ Recent posts