API가 점점 더 방대해 지는 느낌입니다.
전반적으로 API를 설명해 주는 것은 아니지만 새로 추가되거나 강화된 API에 대한 소개가 나옵니다.
기존 UIKit을 사용하던 개발자라면 한번 영상을 볼 필요가 있습니다.
2016년 6월 30일 목요일
xCode 7에서 CocoaPods 사용에 대한 간단한 설명입니다.
파이썬에는 pip가 있고, 닷넷에도 누겟 패키지 관리자가 있습니다.
애플 진영에는 CocoaPods가 있습니다.
애플 진영에는 CocoaPods가 있습니다.
Cocoa
pod 사용 설명서
http://www.appcoda.com/cocoapods/ 내용을 요약해서 번역했습니다.
dependency
manager: 개발자를 위해서
프레임워크와 패키지의 셋트를 관리하는 관리자입니다.
설치는
단순한데 터미널을
오픈해서
sudo
gem install cocoapods
현재 시스템에 CocoaPods gem을 설치하는 명령어입니다.
CocoaPods는 Ruby로
만들어져 있다. 아래와 같이 설치됩니다.
1.
데스크탑에
CocoapodsTest프로젝트를 생성하고 종료해서 빠져나옵니다.
2.
Cd ~/Desktop/CocoapodsTest 명령을 실행합니다.
3.
Podfile이라고 불리는 것을 생성할 필요가 있다. Podfile은
프로젝트의 루트에 있으면서 설치하기를 원하는 모든 pods를 추적하는데 책임을 지는 파일입니다.
4. pod init
5.Podfile을 에디터로 오픈해서 아래와 같이 수정합니다.
# Uncomment this line to
define a global platform for your project
# platform :ios, '9.0'
target 'CocoapodsTest' do
# Comment this line if you're not using Swift
and don't want to use dynamic frameworks
use_frameworks!
# Pods for CocoapodsTest
pod ‘Firebase’
end
6.
pod install을 실행합니다.
Swift 3.0에서 변경된 사항들입니다. #2
1.
메서드가
어떤 값을 리턴하는 경우라면 명사로 지정된다. 메서드가 어떤 액션을 실행하는 경우라면 동사로 지정된다.
//: Playground -
noun: a place where people can play
import UIKit
//기존 스타일
//for i in (1...10).reverse() {
//
print(i)
//}
//Swift 3.0 스타일
for i in (1...10).reversed() {
print(i)
}
//배열을 내용을 출력하기 위해 사용하던 코드
//var array = [1,5,3,2,4]
//for (index, value) in array.enumerate() {
//
print("\(index + 1) \(value)")
//}
//Swift 3.0에서 변경된 코드
//배열의 현재 인덱스를 포함한 튜플을 리턴하기 때문에 명사로 호출한다.
var array = [1,5,3,2,4]
for (index, value) in array.enumerated() {
print("\(index + 1) \(value)")
}
//기존 코드
//var array = [1,5,3,2,4]
//let sortedArray = array.sort()
//print(sortedArray)
//swift 3.0 스타일
var array2 = [1,5,3,2,4]
let sortedArray = array2.sorted()
print(sortedArray)
//기존 코드
//var array3 = [1,5,3,2,4]
//array3.sortInPlace()
//print(array3)
//Swift 3.0 스타일
//별도의 액션없이 리턴하지 않고 끝내기에 명사로 변경됨
var array3 = [1,5,3,2,4]
array3.sort()
print(array3)
2.
Swift 3.0에서는 API에 대해서 단순함의 철학을 접목시켰다.
XCPlaygroundPage.currentPage는 PlaygroundPage.current
Button.setTitle(forState)는 button.setTitle(for)
Button.addTarget(action, forControlEvents)는 button.addTarget(action, for)
NSBundle.mainBundle()은 Bundle.main()으로 변경됨
UIColor.redColor()는 UIColor.red()로 변경됨
enumeration의 경우도 변경된 부분이 있다. 프로퍼티와 같이 enumeration case를 다룹니다. upperCamelCase표기를 사용하지 않고 lowerCamelCase를 사용합니다.
예를 들면 .System 대신에 .system
.TouchUpInside 대신에 .touchUpInside
.FillStroke 대신에 .fillStroke
.CGColor 대신에 .cgColor를 사용합니다.
3.
@discardableResult를 사용한다. 리턴값을 별도로 사용하지 않는 경우 경고 뜨는 것을 없앨 수 있다.
//리턴값을 별도로 사용하지 않는다면 아래와 같이 선언한다.
@discardableResult
func printMessage(message: String) -> String {
let outputMessage = "Output : \(message)"
print(outputMessage)
return outputMessage
}
피드 구독하기:
글 (Atom)
'일론 머스크' '젠슨 황' AI 리더들, 그들의 성공 비결은 바로 이것 - 누가 부자가 되는가 영상입니다. ㅎㅎ
책을 통해서만 접했던 내용들을 영상으로 보니 더 실감이 납니다. KBS에서 방송된 내용인데 주말에 보시면 좋은 영상입니다. 엔비디아의 주가가 이해가 됩니다. ㅋㅋ 생각보다 미국시장이 강한 것이 AI는 거의 미국과 중국이 주도하는 시장이 되고 있습...
-
C# 윈도우 폼(Windows Form)에서 App.Config 파일의 연결문자열 암호화 하기 조회 : 393 나의 폴더 > C# | 2013-09-04 (Wed) 08:58 http://blog.dreamwiz.com/pa...
-
구글이 제미니를 공개하고 있고 점점 흥미로워지는 생성형AI시장입니다. ^^ 구글의 TPU 사진입니다. ㅎㅎ https://themiilk.com/articles/aebea43a4?u=1b5c382f&t=a9645de27&from&am...