2015년 6월 29일 월요일

[ios] Application(애플리케이션) state(상태) : background, active, suspended...

애플리케이션 상태에 대해 알아보자.

not running : 앱이 시작되지 않은 상태

foreground(포그라운드) : 현재 사용자에게 보여지고 있는 상태, 포그라운드 상태에서 활성, 비활성의 상태가 된다.
- active(활성) : 포그라운드에서 실행되고 있으며 이벤트를 처리하고 있는 상황
- not active(비활성) : 포그라운드에서 실행되고 있지만 전화가 걸려오거나 하여 이벤트를 처리하지 않는 상황

background(백그라운드) : 포그라운드 상태에서 다른 앱을 실행시킬 때 해당 앱은 백그라운드 상태가 되며 아직 작업중인 일을 마무리하거나 백그라운드상태에서의 코드 실행을 할 수 있다.

suspended(서스펜디드) : 백그라운드 상황에서 코드실행을 하지 않는 상황, CPU나 배터리 소모가 없다.
                                        언제든지 메모리 부족으로 종료될 수 있으므로 서스펜디드 상태가 되기전에 비                                         휘발성 저장소에 데이터 저장을 해야한다.

2015년 6월 27일 토요일

[swift] Swift(스위프트) 시작하기 : while, for, for in

while 문

조건이 만족되었을 때 시작되며 조건검사 -> 코드실행 -> 조건검사 순으로 진행되며 조건이 만족되지 않을 경우 while문을 벗어나게 된다.

while num < 7
{
    num++
}

for 문

for var i = 0; i < 7; i++
{
     // 조건에 맞을 경우 실행될 코드
}

for in 문

주로 배열과 함꼐 사용.

var books = ["comic", "novel", "essay"]
for book in books
{
   // books에 있는 요소들을 쉽게 접근하여 활용가능.
}

2015년 6월 23일 화요일

[ios] 스토리보드(storyboard) 화면 이동하기, segues 구성하기

segues : 스토리보드의 A화면에서 B화면으로 전화하는 것.
A화면에서 버튼을 누르면 B화면으로 전환되는 것을 해보겠다.


Single VIew Application 프로젝트 생성 > 그림과 같이 스토리보드가 자동 생성 된 것 확인.















A화면 View를 클릭 후 버튼(button)을 드래그 하여 추가 > View Controller오브젝트(B화면)도 드래그하여 추가하면 아래 그림과 같이 두개의 화면이 나타난다.















A화면의 버튼을 눌렀을 때 B화면으로 이동하도록 하기 위해서
A화면의 버튼을 선택 > control키를 누른상태에서 버튼을 B화면으로 드래그 > 다음과 같은 메뉴가 출력 > modal선택




아래의 그림과 같이 화살표가 생성되었으면 제대로 한 것이다.

이대로 실행한다면 문제가 발생한다. 왜냐하면 B화면의 뷰컨트롤러가 없기 때문이다.
file > cocoa touch > UIViewController > Next 생성.

스토리보드에서 아까 생성한 B컨트롤러 선택 > class에 방금 생성한 뷰컨트롤러 지정.

실행해보자. 





2015년 6월 22일 월요일

[ios] 최신 오브젝티브 (NSNumber, NSArray, NSDictionary)

1. NSNumber 
NSNumber *number = [NSNumber numberWithInt:27]; 
다음과 같이 간단하게 사용가능.
 NSNumber *number = @27;

2. NSArray
NSArray *fruit;
fruit = [[NSArray alloc] initWithObjects:@"banana", @"strawberry", @"kiwi", nil];
다음과 같이 간단하게 사용가능.
fruit = @[@"banana", @"strawberry", @"kiwi", nil];

3. NSDictionary
NSDictionary *bookList = [NSDictionary dictionaryWithObjectsAndKeys: object1, key1, object2, key2, nil];
다음과 같이 간단하게 사용가능.
NSDictionary *bookList = {key1 : object1, key2 : object2};


2015년 6월 18일 목요일

[swift] 스위프트 시작하기 : if문, switch문

if문

var num = 7
if num > 2
{
    // num이 2보다 클 경우 이 부분의 코드가 실행됨.
}


if~ else 문

var num = 7
if num > 2
{
    // num이 2보다 클 경우 이 부분의 코드가 실행됨.
}
else
{
   // num이 2보다 크지 않을 경우 이부분의 코드가 실행됨.
}


if~ else if 문

var score = 85
if score > 90
{
    // "A"
}
else if num > 80
{
   // "B"
}
else
{
   // "F"
}


switch 문 
: if~ else if 문 대신에 사용가능함.
  case문 코드가 실행된 후 switch문이 끝나기 때문에 각 case문 마지막에 break를 사용하지 않는다.

var grade = "A"
switch grade
{
   case "A":
   // grade가 A이므로 해당 코드 출력
   case "B":
   // grade가 B일 때 출력
   case "C", "D", 'F":
   // grade가 C이거나 D이거나 F일 때 출력
   default:
   // grade가 모든 케이스에 적합하지 않을 때 출력
}

2015년 6월 17일 수요일

[swift] 스위프트 시작하기 : 변수

Xcode IDE를 사용하여 프로젝트를 생성해보자.

기존에 프로젝트를 생성하는 방법과 동일하게 하되 아래 그림과 같이 언어를 swift를 선택해준다.

기존에는 .h, .m 두개의 파일이 존재했다면 스위프트는 하나의 파일!!
그럼 아래의 그림과 같이 왼쪽에 .swift라는 확장자를 갖는 파일이 생성될 것이다. 

이제 변수를 생성하는 방법에 대해 알아보자.
var num = 7

- var을 사용하여 변수생성
- 세미콜론을 붙이지 않는다.
- 변수를 선언하면 타입을 자동으로 결정한다.(위의 경우 Int)

var num:Int = 7
var phonename:String = "iPhone"

위와 같이 명시적으로 선언할 수 있다.

2015년 6월 16일 화요일

[Swift] Swift (스위프트) 란 무엇일까?

swift는 애플에서 내놓은 iOS/OS X를 위한 새로운 프로그래밍 언어이다.
2014년에 발표되었으며 xcode를 사용하여 구현이 가능하다.

swift로 대처했을 때의 장점은 무엇일까?
- 코딩이 간결해지며 쉽고 빠르게 사용 가능하다.
- 성능이 좋다.
- 메모리를 자동으로 관리한다.

기존에 object-c로 만들어진 프로젝트는 어떻하나요?
- object-c와 swift는 호환가능하므로 굳이 새롭게 앱을 만들지 않아도 충분히 유지보수가 가능하며
object-c를 swift로 완전히 대체도 가능하다.

위의 내용이 선뜻 와닿지 않으므로 swift를 공부해나가면서 자세히 알아보도록 하겠다.





제가 조사하고 보았던 지식을 바탕으로 작성하는 것이므로 잘못된 지식이 있을 경우 말씀해주시면 감사하겠습니다.