분류 전체보기
[Swift] Structure
※ convention: 구조체의 이름은 대문자, 그 안에 property나 method들은 소문자, 인스턴스를 만들 때는 소문자 instance 인스턴스 인스턴스를 만들려면 초기화를 해야하고 각각의 인스턴스는 structure의 모든 프로퍼티와 기능들을 가지게 된다. struct User { static var currentUser: User = User(userName: "Default", email: "Default", age: 0) var userName: String var email: String var age: Int static func logIn(user: User){ currentUser = user } } let me = User(userName: "Harry", email: "djk..
[iOS] IBAction과 IBOutlet, 연결 후 삭제 시 주의할 점
Outlet: code에서 storyboard로 object를 연결하는 것 Actions: storyboard의 controls에서 swift code로 연결시키는 것 IBOutlet: 스토리보드 상에 선언한 객체(View, Label ...)를 가리키는 변수 IBAction: 스토리보드 상 선언한 객체가 특정 이벤트가 발생했을 경우 호출되는 함수 object를 클릭하고 control 키를 누르고 마우스로 Assistant code에 드래그앤드롭으로 연결시켜주면 된다. 보통 viewDidLoad()를 기준으로 IBOutlet은 위에, IBAction은 아래에 연결시켜준다. // 버튼을 누르면 Label 텍스트가 변경되게 IBAction을 Button에 연결해두었다. IBAction 삭제 시 주의할 점 연..
[iOS] storyboard에 추가된 view가 어디 있는지 안보일 때
view object를 storyboard에 추가했는 데 배경과 object 색상이 같아서 보이지 않을 때 오른쪽처럼 표시해줄 수 있는 유용한 팁 Editor > Canvas > Bounds Rectangles ✓
[iOS] 공유하기 기능 구현하기 iPhone/iPad
var sharedObject = [Any]() sharedObject.append(image) // image = 공유할 때 보내고 싶은 이미지 let random = Int.random(in: 0...(sharedText.count - 1)) sharedObject.append(sharedText[random] + "\n\n공유할 때 함께 보내고 싶은 문장") let vc = UIActivityViewController(activityItems: sharedObject, applicationActivities: nil) vc.popoverPresentationController?.permittedArrowDirections = [] vc.popoverPresentationController?.sour..
[Unity] 물체 움직이기
※ 2D에 3D 컴포넌트를 넣거나 3D에 2D 컴포넌트를 넣으면 작동이 안된다. 1. 속력을 바꾸어 물체 움직이기 Rigidbody rigid; void Start() { rigid = GetComponent(); rigid.velocity = Vector3.right; // 오른쪽으로 속력을 받음 } public class MyBall : MonoBehaviour { Rigidbody rigid; void Start() { rigid = GetComponent(); } void FixedUpdate() { rigid.velocity = new Vector3(2, 4, 3); // 벡터를 생성하여 속력 지정 가능 } } - velocity: 현재 이동 속도 ※ RigidBody 관련 코드는 FixedUp..
[Swift] 데이터 타입으로서의 함수
Swift는 함수형 프로그래밍 패러다임을 포함하는 다중 패러다임 언어 스위프트의 함수는 일급객체이므로 변수, 상수 등에 저장이 가능하고 매개변수를 통해 전달할 수도 있다. 타입이 다른 함수는 할당할 수 없다. (매개변수 1타입, 매개변수2타입 ...) -> 반환타입 func greeting(to friend: String, from me: String){ print("Hello \(friend)! I'm \(me)") } var someFunction: (String, String) -> Void = greeting(to:from:) someFunction("a","finit") // someFunction 자체가 함수이기에 호출 가능 // Hello a! I'm finit. someFunction = ..
[Swift] 매개변수/전달인자 레이블/가변 매개변수
기본 매개변수 기본값을 갖는 매개변수는 매개변수 목록 중에 뒤쪽에 위치하는 것이 좋다. func greeting(friend: String, me: String: "Finit"){ print("Hello \(friend)! I'm \(me)") } 매개변수 기본값을 갖는 매개변수는 생략할 수 있다. greeting(friend: "finit") 전달인자 레이블 전달인자 레이블은 함수를 호출할 때 매개변수의 역할을 좀 더 명확하게 하거나 함수 사용자의 입장에서 표현할 때 사용한다. 함수 내부에서 전달인자를 사용할 때 매개변수 이름을 사용한다. func greeting(to friend: String, from me: String){ print("Hello \(friend)! I'm \(me).") } 함수..