반응형

분류 전체보기 420

[iOS Objective c] 화면 흔들기 (view shake) 구현

[iOS Objective c] 화면 흔들기 (view shake) 구현 setDuration : 애니메이션 실행 시간setRepeatCount : 애니메이션 실행 횟수 setFromValue : 애니메이션 시작 위치setToValue : 애니메이션 끝 위치 다음 코드는 0.05초 동안 좌우로 20.0f 씩 4번 흔드는 애니메이션 CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"]; [animation setDuration:0.05]; [animation setRepeatCount:4]; [animation setAutoreverses:YES]; [animation setFromValue:[NSValue val..

[iOS] NSMutableArray 배열 순서 섞기

[iOS] NSMutableArray 배열 순서 섞기 (랜덤으로 섞기) [Objective-c] for (int i=0; i < [arrTestA count]; i++) { int random = arc4random() % [arrTestA count]; [arrTestA exchangeObjectAtIndex:random withObjectAtIndex:i]; } 만약 특정 인덱스는 섞으면 안될 경우 아래 코드를 추가해주자. if (random == 5 || i == 5) { continue; } [Swift] extension Array { mutating func suffle() { if count < 2 { return } for i in 0 ..< (count - 1) { let j = Int(..

[Objective-c] @synthesize 사용 안해도 돼요

[Objective-c] @synthesize 사용 안해도 돼요! 가끔씩 맥이나 iOS 관련 개발 카페등을 보면, 2014년이 시작된 지금까지도 Objective C의 문법중 @synthesize에 관해 물어보는 분들이 계십니다. (참고로, Object C(오브젝트 C) 아닙니다. Objective C(오브젝티브 C) 입니다. 이거 헷갈리시는 분들이 있더군요.) 아마도, 조금 오래된 책으로 공부하거나(최근 책들은 보지 못했습니다만...) 예전에 작성되었던 소스들을 보면서 공부하기 때문인것 같습니다. 그런데, 사실 이제는 2012년 중반 이후로 Modern Objective C가 나온 이후 부터는 @synthesize는 더이상 사용할 일이 거의 없습니다. (정확히 버전은 기억나지 않지만 XCode 4.5정..

[JAVA] synchronized

[JAVA] synchronized 자바 애플리케이션이 수행되면 서버나 WAS에 프로세스가 생성된다. 그리고 하나의 프로세스에는 하나이상의 Thread(스레드)가 생성된다. 단일 스레드가 생성되었다가 종료될 수도 있고 여러개의 스레드가 생성되고 수행되다가 소멸될 수도 있다. 즉 1대多의 관계다. 스레드는 WAS가 관리하며 시스템 개발시에 스레드를 개발자가 직접 컨트롤하는 일은 별로 없으며, 오히려 제대로 알지 못한 상태에서 직접 제어하면 서비스의 안전성에 문제가 생길 수도 있으니 어떤 원리로 작동되는지 정도만 알아도 충분하다고 본다. 스레드는 같은 프로세스내에서 동일한 데이터를 공유한다. 따라서 하나의 데이터에 대해서 동시에 여러개의 스레드가 접근이 가능하게 되고 그에 따라 데이터의 일관성에 관한 문제가..

[안드로이드] CountDownTimer

[안드로이드] CountDownTimer 예제 //(총 시간, Tick 시간) CountDownTimer timer = new CountDownTimer(5000, 1000) { public void onTick(long millisUntilFinished) { //1초에 한번씩 5번 실행되는 메소드 } public void onFinish() { //마지막 5번째가 실행이 되고 실행되는 메소드 } }.start();CountDownTimer(총 시간, Tick 시간)onTick 메소드가 1초에 한번씩 5번이 실행되고, 마지막으로 onFinish() 메서드를 호출한다. timer.cancel();타이머 종료하는 메서드

[ios] cocoapod 사용하기

[ios] cocoapod 사용하기 ios 개발할때 유용한 라이브러리들을 사용하는 방법중의 하나로 cocoapods를 꼽을 수 있다. 설치는 간단하다.sudo gem install cocoapods 제거 할때는 sudo gem uninstall cocoapods 설치한 이후 기존의 XCode 프로젝트 폴더에서 터미널에서 profile 생성 명령어를 실행해준다.pod init이렇게 하면 profile이 생성된다. 생성된 profile 파일을 텍스트 편집기에서 열어 추가 하고자 하는 라이브러리를 입력하고 저장해준다.(참고로 profile에서 #은 주석을 의미한다.)# platform :ios, '6.0'

[xcode] xcode 자주 쓰는 단축키

Command + Ctrl + Up/Down : 헤더/소스 파일간 이동Cmd + Ctrl + Left/Right : 히스토리 이동Cmd + 0 : 좌측 네비게이션 창 토글Cmd + 1~7 : 좌측 네비게이션 창 항목 변경Cmd + Opt + 0 : 우측 유틸리티 창 토글Cmd + Shift + y : 하단 디버그 창 토글Cmd + j : 화면 분할 및 이동Cmd + Opt + . : 분할 화면 우측으로 로테이션Cmd + Opt + > : 분할 화면 좌측으로 로테이션Cmd + Ctrl + j : 함수 구현해 놓은 곳으로 이동Cmd + Shift + o : 특정 위치로 빠르게 이동Ctrl + 1~6 : 점프 바에서 빠르게 선택Cmd + Shift + k : CleanCmd + b : BuildCmd + Op..

iOS/기타 2017.02.03

[ios] presentModalViewController 호출 시 hierarchy 오류

UINavigationViewController내의 modalView가 최상위로 올려져 있는 상태에서다시 modalView를 호출하려고 하면 Warning 이 날 수 있다. 이는 modalView위에서 presentModalViewController를 호출해야하는데UINavigationViewController에서 다시 호출하려고 하다 그런 문제가 생기기 때문이다 Warning: Attempt to present on whose view is not in the window hierarchy! 위의 에러가 났을 경우에는아마 대부분 이렇게 호출을 했을 것이다[self presentModalViewController:test2ViewController animated:YES]; 해결방법아래와 같이현재 최상위..

iOS/오류 해결 2017.02.03

[Objective-C] alloc, init 메서드

ClassA* a = [ClassA alloc]; alloc은 allocate(할당하다)의 줄임말이다. 새로운 클래스에 메모리 공간을 할당하는 것이다. 클래스에 alloc 메세지를 보내, 그 클래스의 새로운 인스턴스를 받는다. alloc 메서드는 객체의 모든 인스턴스 변수를 0으로 초기화한다. 그러나 이것으로 객체가 사용하기에 충분히 초기화되었다고 볼 수는 없다. 따라서 객체를 생성(allocate, 메모리에 할당)한 후, 초기화(initialize)해 주어야 한다. 이것은 다음 명령문으로 수행할 수 있다. a = [a init]; init 메서드는 클래스의 인스턴스를 초기화한다. a 변수에 init 메시지를 보내는 것에 주목하자. 이것은 클래스가 아니라 특정한 ClassA 객체를 초기화하는 것을 뜻한다..

[C] 포인터 개념

# [C] 포인터 - 기초 개념 설명 * 포인터는 빵을 먹기위한 일진의 처절한 사투를 다루는 이야기야. 무슨 말인지 모르니까 일단 예제를 보자. int Bbang = 1000; int *DD = &Bbang; 학교 매점 '메모리'에 int맛 Bbang이 새로 들어왔어. 오늘 그 빵을 1000원에 판데. 근데 학교 짱 DD가 "야, 저기 내가 가르키고 있는 int맛 Bbang 있는 진열대 보이지? 빵에다 별 찍어놨으니까 알아둬라."라고 선포했어. 위에 문장은 이해하려 하지말고 그냥 머리속에서 상황을 상상만 해. 그럼 이걸 다시 외계어로 친절하게 설명해줄께. int Bbang = 1000; 먼저 int Bbang 이라고 선언하면 컴퓨터 메모리에 int형의 Bbang이라는 변수가 들어갈 메모리 공간이 잡혀. ..

IT/기타 2017.02.03

[ios objective-c] 문자열 배열로 분리하기

문자열 배열로 분리1. NSString을 NSArray로 분리: componentsSeparatedByString: 사용NSString *myString = @"This is a test";NSArray *myWords = [myString componentsSeparatedByString:@" "]; // 이제 myWords는: [@"This", @"is", @"a", @"test"] 2. 여러 개의 토근을 사용할 경우: componentsSeparatedByCharactersInSet: 사용NSString *myString = @"Foo-bar/blee";NSArray *myWords = [myString componentsSeparatedByCharactersInSet:[NSCharacterSet ..

반응형