0.6 [NSNumber,NSValue] 깔끔한 마무리! FK(5)

View Comments

0.6 마무리를 깔끔하게!!

yenos!!!!!!!!!

여기 까지가 이제 object-c의 기본 기본기본적인 맛보기였습니다. 아 ! 이렇게 코딩하는구나!

라는 느낌만 받았다면  성공이야! 

요것이 끝나면!! 다음으로 바로 xCode에서 실질적으로 Simulator를  이용해 앱을!!!

개발합니다..ㅇ ㅡ하하핳.ㅎ핳ㅎ

마무리를 깔끔하게...

시작!








0.1 NSNumber 


넘버? 왔 더!? ?

옙 숫 to the 자!!   말 그대로 숫자의 기본타입을 가지고 있는 클래스야!

이녀석들을 어떤 메소드로 이용할 까~~?


**(NSNumber*) numberWithChar: (char) value;

**(NSNumber*) numberWithInt: (int) value;

**(NSNumber*) numberWithFloat: (float) value;

**(NSNumber*) numberWithBool: (BOOL) value;


이녀석들이 가장 일반적으로 쓰이는 것들!

어떻게 쓰는 걸까요?? 역시 코드를 봐야겟지요.



간단합죠 ?? 이제 하도 설명하니 말안해도 알겠군!!

이러한 number을  array, dictionary등 각종 관련 메소드에 이용할 수 있다!



요론식으로 .. 바로 전 메모를 열심히 공부하면 알수 있는.. 음

그렇다.. 참 쉽군 이번판?

너무 간단해서 딱히 설명이라고 할게없네.. 참

Pass 







0.2 NSValue


어떤 값이 냐면.. 그냥 임의의값?  꽤나 큰 개념이지..  임의라는 건.?.?

어떻게 써야되는거야?? 어케 생겨먹은거지??


**(NSValue*) valueWithBytes: (const void*) value objCType: (const char*) type


내가 썼지만 알아볼 수 가 없다.. 역시  함정카드야 함정카드...



편한 이해를 위해.. 일단 array를 먼저 만들어보았다!!

대략 메모리를 20으로잡고,, 배열안에 1과 2 를 넣었어! 다음으로..



이제 나왔지 NSValue! 음 위에 녀석은 뭐지?? 

일단 rect 값이 (3,3,10,20)을 가진다고 생각해! (NSRect에 관해선 아래서 자세히..ㅎㅎㅎ)

value값을 뒤에서 부터 보면  value자체의 type 형을 정해주고 있어 obCType을 통해! 

@encode는 ()안에 것을보고 알아서 적절한 Type 이름을 정해주는 컴파일러 지시자야! 

'음 적당한 이름을 지어줘야할것같다!'

그래서 정해진 타입명에 무엇이들어갈거냐?? 라고 물으면  바로 valueWithBytes 에 입력되어진 rect의 주소값! 이되어지는거지

그러므로... 

NSLog값은 다음과 같아!!



보면 좀 알겠지?? NSRect 이름의 (3,3) ,(10,20) 값이 들어가있는 것이지!

이제 array값에 추가해서 마무리를 지어보자!



요로콤 추가 해보면,  array맨마지막 배열에 value 값을 넣어준다는 이야기가 됨으로!

최종 로그값은!



깔끔하구만 ㅎㅎㅎㅎ







*NSRect ..

이놈이 의도치않게 튀어나와버렸네.. 이녀석

2번째 메모에서 조금 설명은 했지만.. 음.. 어쨋든 알아보자!


**typedf struct{

NSPoint origin;

NSSize size;

}


한마디로,, 포인터 위치와 크기를 정해주는 것이지.. 위에서 사용된게

NSMakeRect 였지?? 이녀석은 바로 사각형을 만들어주는 메소드인데.. 

(x좌표, y좌표, width, heigh)가 되는거지 ㅎㅎㅎ


위엣 사진처럼 여러가지 메소드를 포함하고 있고!!  

위아래로 수많은 응용 메소드들이 같이 출몰하고있어!! 

구글링하면 수없이 나오겠지????

사실 이많은것들을 꼭 알고갈 필요는 없거든요~~

그러므로 여기서 마무리이





크아! 이렇게!! 대략적인 object-c에관한 내용을 한번 흩어보았다!!

사실 내가 생각하는 ios 프로그래밍은..

기본적으로 이정도만 해서  대충~ 느낌만 알아가고!

실제  시뮬레이터로! 코딩하면서! 실질적인 결과물을 보면서 하는게 길지만 굵직 굵직하게 코딩하는 방법이라고 생각해!

그러므로!

'xcode에서 코딩하기' 에서 진짜 아이폰 어플을 만들어봅시다

거기서도 이렇게 내 수준에 맞게 아주아주 천천히 쉽게 설명할거야.. 


0 Comments (+add yours?)

Leave a Reply

Tracbacks (+view to the desc.)

0.3 [NSString,Compare] 점점 알아가는군! FK(2)

View Comments

03. 점점 알아가는군! FK(2)


Yenos!

주말을 푹 푹쉬고, 프로그래밍 따윈안하고.. ㅋㅋㅋ 오늘은 문자열 공부..

다시 메모를 시작해볼까나..




추천부탁드려요:)

감사합니다~!




0.01 NSString..


문자열을 다루는 클래스인 NSString ... 예전엔 멋도모르고 썻지만 .. 무슨 기능들이 숨어있는지..

찾아봐야지 하나나하나..

먼저

간단히 NSString? 을 어떻게 쓸것인가..? 

기본적인 stringWithFormat 메소드 부터 살펴보면,,


** (id) stringWithFormat : (NSString*) fortmat, ...;


간단함.. 위와같은 형식으로  아래와같이 이용해주면된다!


.


NSString 으로 height값을 하나 잡아주고

 NSString stringwithFormat 선언을 통해 height의 문자열을 입력해줌...쉽죠?  


NSLog 값은 오른쪽아래 Alloutput에 위와 같이.. 출력하게해줌..

%@ 값을 해주어야.. 문자열이라고 인식하고 이쁘게 출력을 해준다.. 음 쉽네..

이제 

문자열을 더 유용하게! 이용할 수 있는 간단한메소드를 겅부..





0.02 length


랭ㄸ씅~ 문자열의 개수를 반환하는 length 메소드의 원형은.. 


** (unsigned int) length;

이렇게 생기구.. 



이와 같이.. 응용하여 사용 할 수 있음..

height값은 아까~! 저 위에 height 값.. 

height값에길이가 10보다 크므로 NSLog값을 출력하게 된다..

ㅋㅋㅋㅋ 이용하기 참 쉽죠잉??






0.03 isEqualToString


두 문자열이 같은가??? 를 판별해주는 녀석.. 일단 생김새는

**  (BOOL) isEqualToString: (NSString *) aString;

이렇게 생김.. 이녀석도 간단하게 생겼다

코드를 또보자!



요로콤.. 이용할 수 있다.

현재 thing1 과 thing2 는 maroon5 라는 값으로 값이 같다.. 

그러므로 is EqualTostring을 이용해서.. 

같니? 같으면 로그값 출력!






0.04 Comapare


위에 isEqualToString은 오직 문자열의 내용이 같은지 틀린지만 판별해주지만!!

Compare 이놈은 문자열을 하나하나 비교하여.. 두 문자열이 오름차순인지,,, 내림차순인지,, 완전히같은지!

를 알려주는 똑똑한 놈이다  Compare의 값을 반환하는 NSComparisonResult  가 어떻게 생겻나 보자..


**typdef enum _NSComparisonResult{

NSOrderedAscending = -1,

NSOrderSame,

NSOrderedDescending

}NSCOmpariosnResult;


이 선언은 오름차순=-1, 같은 값=0, 내림차순= 1 로   나타내주겠다는 의미다.

그 다음으로 아래 코드를 보면 이해가..



 abc 랑 xyz랑 -1 이냐?(오름차순이냐?)  음! 맞네!

그래서 NSLog 출력..

그런데 

Compare의 문제가 있어.. 그것은 대소문자를 구분해버림!

음 Yenos 와 yenos를 구분해버려서 NSORderedSame 값을 반환하지 않는다는것... 참.. 쓰기 곤란해졌지.. 

그래서 operation 이라는 메소드를 추가하지.. 으하핳.


**(NSComparisonResult) compare: (NSString *) string options: (unsigned) mask;


option의 파라미터 값은 비트 마스크값이야.. 비교 연산자를 넣는거지! 

OR? ANd? 같은것들.. 뭔말인지모르겟다..

역시 코드를 보면 한눈에 보일것이다!


hello 와 Hello 를 제대로 비교하는것이지.. 

그냥 compare만 이용하면 같다고 안나와! 반환을 못해ㅠㅠ 그래서 option으로 여러가지를 넣어줘봣어..

물론 이코드에선 모두 이용되지 않았지만 어떻게 쓰는 지 보기위해!

옵션에 종류엔 요론게 있지!


**NSCaseINsensitiviewSearch :  대문자 와 소문자가 같은 것으로 인식!

  NSLiteralSearch : 대소문자를 정확하게 보아서 같은지를 비교!

  NSNumbericSearch : 문자열안에 숫자를 실제 숫자로 인식하는것!

  (100 과 99 문자로 보았을때 Aski 값이 1이 9 보다 먼저 있으므로, 100이 99보다 앞으로 정렬이 되버려.. 이러한 문제를 해       결해주는 녀석)


뭐 이정도면.. 어떻게 쓰는지 알겠지?

옵션설정은 위에 말했듯이 and 나 or로 바꿀수도있고 참 신박하게 잘만들었지.. 






0.05 hasPrefix,hasSuffix


뭐냐 얘네들은?? 음.. 이런경우.. 예를들어 프로그램에서 동영상을 찾아야한다! 

그럴경우 확장자를 보고 리스트를 뽑아주겠지.. 그럴때  확장자를 이용해서 .mp4나 .avi 를 문자로 검색하는 방법으로!

그러면.. 내가 원하는 mp4 avi 가 문자열에 있나요? 를 판별해서

촵촵~ 뽑아주는 녀석들이 필요할거다..  이런 유용한 메소드가 아래 두개다!!


** (BOOL) hasPrefix: (NSString *) aString;

**(BOOL) hasSuffix: (NSString *) aString;


hasPrefix는 맨 처음 앞단어를 비교해주고..

hasSuffix는 맨 마지막 단어를 비교해주고,,, 역시  모든 코드를!!



보이는가!  output이?? 아마 둘다 출력되지..

맨 앞단어가 Yenos 이고, 마지막이 .pages이니깐 모두 트루!!!


그런데.. !

혹.. 중간에 원하는 문자열을 검색하고 싶다면???


**(NSRange) rangeOfString: (NSString *) aString

 


 한방에 정리? 끝? 굿? 

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

여기까지 간단히 여러가지 메소드드를 짧고 굵게 알아보았다

다음엔 Mutable String을 알아보자











2 Comments (+add yours?)

Leave a Reply

Tracbacks (+view to the desc.)

0.2 [NSRange,NSSize..] 이게뭐꼬..FK(1)

View Comments

02. 이게뭐꼬..Foundation kit (1)

Yenos!

음..foundation kit 이것은! 코코아의 한 프레임워크로 다양한 하위레벨의 데이터 클래스, 자료타입등을 가지고 있다!

사실.. 왜 여기서부터 보냐면.,,, 

object -c 는 모양새만 다르지 c++ 과 비슷하다.. 당연히 객체언어니깐..  

충분히   이런 메모를 하지 않고도 터득할 수 있다.. (c++을 해보았다면 더더욱!)

그래서


최대한 빠르게 xcode에 다가가야하니깐!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 

실용에 학문에 기대겠네.. 나중에 망하면 다시 보면되니깐.... 


0.01 NSRange..


항상 코드부터 보고!  어떻게 돌아갈건지에대해 생각해보자.. 우하..


NSRange 라는 녀석은 typdef 정의된것과 같이 범위를 나타내준다.

뭐? 어떤범위..? 위치와 길이. 응??

"my First yenos.-c Struct"  에서 "yenos." 문자열의 위치는 10 길이는 6 !!

NSRange 타입의 range 값 초기화 

후로.

값을 설정하는 방법엔 3가지가 있다.


하나.

range 하위값인 location, length를  각각 설정해주기!



오미!!! 배열로도 단방에 된다...



셋.

뭐냐 난 정의되어 있는 함수임.. 간단하지???

위와 같은 방법으로 간단히 설정가능..  다음으로~





0.02 NSpoint..NSSIze..



보는 바와같이  NSPoint는 좌표

                     NSSize는 가로 높이

                     NSRect는 좌표와,가로,높이

로. 이루어진다는 것을 알 수 있다.!


이 외에  NSMakePoint(),NSMakeSize(),NSMakeRect() 등과 같이 간편한 함수도 있으니..  

너무 걱정안해두 된다.. 저걸 어떻게 쓰는지에대한 막연함은.. 

다음은 문자열로 ㄱ ㄱ 싱.!




0 Comments (+add yours?)

Leave a Reply

Tracbacks (+view to the desc.)

01. 랄라라 objective-c 어디서 코딩하지?...

View Comments

01. objective - c 어디서 코딩하지..?

Yenos~

처음 내가 들었던 생각.. 그당시엔 맥도 없었는지라.. ㅋㅋㅋㅋ 



1. x-code를 설치한다. 


2. 실행하고 osx application 탭에 command Line Tool 을 선택!. 






3. 대충 네임 이리저리 쓰고.. Type 칸에! foundation을 선택!






4.  main.c 에 다른 언어 코딩하듯이 하면 된다.. 






참 쉽지만.. 난 항상 잊어버리니깐..  모든걸 다 적어 놓을테다!!

0 Comments (+add yours?)

Leave a Reply

Tracbacks (+view to the desc.)

Newer Entries Older Entries