터치 좌표를 이용하여 각도구하는 방법

스크린 상단이 0도가 되며 좌측이 -, 우측이 + 스크린 하단이 180도 이다.


http://stackoverflow.com/questions/17037798/ios-detecting-line-angle-or-degree


- (float) getAngle:(CGPoint)a :(CGPoint)b

{

    int x = a.x;

    int y = a.y;

    float dx = b.x - x;

    float dy = b.y - y;

    CGFloat radians = atan2(-dx,dy);        // in radians

    CGFloat degrees = radians * 180 / 3.14; // in degrees

    return degrees;

}

  • 튜플(Tuples)
    • 두 개 이상의 값으로 구성된 복합값을 나타낸다.
    • 형식추론 예 
      • let member = (21, "kim", "seoul", "010-1212-2222")
    • 자료형 명시 예
      • let member: (Int, String, String, String) = (21, "kim", "seoul", "010-1212-2222")
    • 튜플의 각 요소에 저장된 값을 읽을 때는 인덱스를 사용
    • 튜플의 각 요소는 읽기 전용
    • 예 : let memberName = member.1        //kim
    • 각 요소를 개별 상수와 연관시켜 접근하는 방법
      • let (id, name, address, phone) = member
    • "_" 문자를 사용해서 해당값 사용하지 않도록 표시
      • let (id, name, _, _) = member
    • 요소의 이름 지정
      • let member = (id: 21, name: "kim", address: "seoul", phone: "010-1212-2222")
      • let memberId = member.id


'Swift > Swift Basic (2.0Base)' 카테고리의 다른 글

함수  (0) 2015.01.08
Optionals  (0) 2014.12.30
로그 출력  (0) 2014.12.23
변수와 상수  (0) 2014.12.23
Swift특징  (0) 2014.12.23

println() : 출력 후 자동으로 줄바꿈

print() : 출력만 줄바꿈 없음

'Swift > Swift Basic (2.0Base)' 카테고리의 다른 글

함수  (0) 2015.01.08
Optionals  (0) 2014.12.30
튜플(Tuples)  (0) 2014.12.24
변수와 상수  (0) 2014.12.23
Swift특징  (0) 2014.12.23
  • 변수
    • var 키워드 사용
    • 형식추론(Type Inference) 기능 제공
      • 변수를 선언할 때 자료형을 지정하지 않을 시 초기값 제공 필수
      • 초기값 미 제공시 Type annotation missing in pattern 오류 발생
    • 자료형 지정
      • 변수 이름 뒤에 콜론(:)을 붙인 다음 원하는 자료형을 지정
      • 예 : var str: NSString = "hello"
      • 애플의 공식 문서에서는 콜론 뒤에 공백이 추가된 방식 사용
  • 상수
    • let 키워드 사용
    • 문법은 변수와 동일
    • 초기값 지정은 필수


'Swift > Swift Basic (2.0Base)' 카테고리의 다른 글

함수  (0) 2015.01.08
Optionals  (0) 2014.12.30
튜플(Tuples)  (0) 2014.12.24
로그 출력  (0) 2014.12.23
Swift특징  (0) 2014.12.23
  • Swift 특징
    • Main 함수가 존재하지 않는다.
    • 세미콜론(;)은 선택사항
    • 변수(Variable) - var, 상수(Constant) - let를 선언하는 새로운 키워드 도입
    • 형식 추론(Type Inference) 지원 (예: var name:String = "Kim")
    • 변수나 상수의 이름에 유니코드 문자 사용가능 (한글 뿐만 아니라 아이콘 등 유니코드에 해당되는 모든 문자 사용가능)
    • 문자열과 문자는 모두 큰따옴표("")를 사용
    • 확장 가능한 새로운 이름의 자료형 제공
    • 헤더 파일이 없음
    • Objective-C와 함께 사용 가능
    • ARC를 기본 메모리 관리 모델로 채택
    • 서브스크립트 문법을 다양한 자료형에서 사용
    • 구조체와 열거형의 기능의 확장 (문자열이나 실수를 원시값으로 가질 수 있음, 다양한 정보를 연관값으로 지정)
    • 구조체, 열거형, 클래스는 선언 내부에 또 다른 구조체, 열거형, 클래스를 중첩해서 선언 가능
    • 제네릭(Generic)을 통해 자료형에 의존하지 않는 범용 코드를 작성하여 코드의 새사용성을 높일 수 있음


'Swift > Swift Basic (2.0Base)' 카테고리의 다른 글

함수  (0) 2015.01.08
Optionals  (0) 2014.12.30
튜플(Tuples)  (0) 2014.12.24
로그 출력  (0) 2014.12.23
변수와 상수  (0) 2014.12.23

NSDate *sourceDate = [NSDate dateWithTimeIntervalSinceNow:3600 * 24 * 60];

NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];

float timeZoneOffset = [destinationTimeZone secondsFromGMTForDate:sourceDate] / 3600.0;

NSLog(@"sourceDate=%@ timeZoneOffset=%f", sourceDate, timeZoneOffset);



1. ARC 사용 유무 확인

  • 프로젝트 파일에 Build Settings에서 Objective-C Automatic Reference Counting (Yes / No) 확인

2. 소스파일 ARC  적용/해제

  • 프로젝트 파일에 Build Phases에서 Compile Sources탭의 .m 파일 선택
  • 선택한 소스 더블탭, ARC 사용할 경우 "-fobjc-arc", 사용하지 않을 경우 "-fno-objc-arc"


#include "time.h"

#include <sys/time.h>

#include <stdio.h>


long clockCheck()

{

struct timeval tv;

gettimeofday(&tv, NULL);

return (tv.tv_sec * 1000 + tv_usec / 1000);

}


voie time::check()

{

long start, end;

start = clockCheck();

load();

end = clockCheck() - start;


printf("%ld.%ld sec \r\n", end / 1000, end % 1000);

}

+ Recent posts