본문 바로가기
[xcode] suppressing warning - incompatible pointer types sending … [xcode] suppressing warning - incompatible pointer types sending … -Objective-C 가 delegate 를 id 형태로 처리하기 때문에 워낙에 이런 warning 이 잘 발생하므로,항상 casting 해주는 것보다 아래와 같이 부분 suppressing warning 을 해주는 것이 좋다. -아래와 같이 해당 warning 을 초래하는 코드 부분만 suppress warning 을 할 수 있다.전체에 대한 warning 제거가 아니기 때문에 훨씬 안전하다.단, warning 제거할 때에는 에러가 발생할 소지가 높은 부분이기 때문에 눈여겨 보아야 한다. -#pragma clang diagnostic push#pragma clang diagnosti.. 2017. 12. 22.
[Effective Objective-C] #47 시스템 프레임워크를 숙지하라 [Effective Objective-C] #47 시스템 프레임워크를 숙지하라 출처 : Effective Objective-C -시스템 프레임워크가 없어도 오브젝티브-C 를 사용할 수 있지만 그런 일은 매우 드물다.표준 최상위 클래스 NSObject 조차도 언어에 포함되어 있는 것이 아니라 Foundation 프레임워크에 포함되어 있다.Foundation 을 쓰는 것을 원하지 않으면 자신만의 최상위 클래스 뿐 아니라 자신만의 컬렉션, 이벤트 루프, 다른 유용한 클래스를 직접 만들어야 한다.게다가 시스템 프레임워크 없이 맥 OS X 와 iOS 앱을 오브젝티브-C 로 개발할 수 없다. -어떤 시스템 프레임워크가 있는지 모른다면 이미 만들어진 것도 또 다시 직접 모두 작성해야 할 것이다. -프레임워크는 동적 .. 2017. 10. 14.
[Kotlin Tutorial] Kotlin 기초 #2 - Chap2. Kotlin basics [Kotlin Tutorial] Kotlin 기초 #2 - Chap2. Kotlin basics 참조 : Kotlin in Action 2.4. Iterating over things: "While" and "For" loops -Kotlin 에서 for loop 은 for-each loop 하나밖에 없다. 2.4.1. The “while” loop -Java 와 동일 2.4.2. Iterating over numbers: ranges and progressions -일반적인 for loop 를 쓰려면 range 를 쓰면 된다.Range 는 closed, inclusive 하다 즉 아래의 예에서는 1과 10 모두를 포함한다.val oneToTen = 1..10 -val hundredToOneWithSte.. 2017. 7. 25.
[iOS] CFArray 에서 CF 가 뭔가요? [iOS] CFArray 에서 CF 가 뭔가요? CFArray 의 CF 는 CoreFoundation 의 약자 이 글의 목적은 CF 가 무슨 약자인가를 알아보는 것이지만, CFArray 부터 시작했으니 이 이야기도 잠깐 하자면.. http://stackoverflow.com/questions/9239713/difference-between-cfarray-and-nsarray CFArray 는 static array 이고, CFMutableArray 가 dynamic array 이다. CFArray 와 NSArray 는 기본적으로 거의 동일한 녀석으로 바로 casting 이 될 수도 있다. 그럼 무슨 차이가 있느냐? CFArray 는 NSObject 가 아닌 다른 것(CF Level 의 것)들을 넣을 수 .. 2017. 6. 18.
Long 을 Int 로 casting 할 때 다음을 고려하자. Long 을 Int 로 casting 할 때 다음을 고려하자. -casting 하려는 long 값이 양수, 음수를 모두 사용한다면, 그리고 충분히 큰 값을 사용한다면함부로 int 로 casting 해서는 안된다. - 안전한 down casting 다음과 같이 하면 좋다. public static int safeLongToInt(long l) {if (l Integer.MAX_VALUE) {throw new IllegalArgumentException(l + " cannot be cast to int without changing its value.");}return (int) l;} -값 손실을 고려한다면 IllegalArgumentException 대신 .. 2015. 12. 28.
Objective-C 의 기본 ( Basic Objective-C ) Object-C 의 기본 ( Basic Objective-C ) 출처 : http://www.tutorialspoint.com/objective_c/ > - OOP 언어로 Smalltalk-style 을 C 언어 에 가미한 언어이다. Apple 의 OSX 와 iOS 에서 공식적으로 사용되는 언어이다. > - Object-C 는 OOP 의 4가지 조건 ( Encapsulation, Data hiding, Inheritance, Polymorphism ) 을 모두 만족시키는 언어이다. - Foundation Framework 는 아래 명시된 기능들을 비롯해 많은 기능을 제공한다. * NSArray, NSDictionary, NSSet 과 같은 data type 을 제공 * file, string 등 많은 u.. 2015. 6. 16.
[android] findViewById casting bolierplate removal. android, findViewById casting bolierplate removal. @SuppressWarnings("unchecked")public final E findView (int id) { return (E) findViewById(id);} @Overridepublic void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView = findView(R.id.textview);Button button = findView(R.id.button);ImageView image = findView(R.id.imageview); myMethod( findView(R.id.imagev.. 2014. 4. 17.
[Java] 형 변환에 대한 깊숙한 이야기. 자바, 형 변환에 대한 깊숙한 이야기. 요즘은 Eclipse 를 비롯한 IDE 들이 워낙 잘 되어 있어서, 알아서 에러를 표시해주고 어떻게 고쳐져야 하는지 Suggestion 까지 나와서 잊기 쉬운 간단하면서 당연한 형변환에 대한 이야기를 해본다. 작은 타입의 데이터를 큰 타입의 변수에 할당할 때는 자동 변환된다. 작은 타입과 큰 타입의 예는 int 와 long 의 관계처럼 볼 수 있다.만약 long 타입의 변수가 있는데, 이 변수에 int 값을 넣어주면 자동 형변환이 된다는 이야기이다. int a = 10;long b = a; // OK!! no casting necessary 큰 타입의 데이터를 작은 타입 변수에 할당할 때는 명시적으로 형 변환을 해 주어야 한다. 큰 타입의 데이터릊 작은 타입의 변수.. 2013. 8. 5.
[Spring] Spring framework 개요 #4 Spring framework 개요 #4 의존관계 주입 ( DI, Dependency Injection ) * Dependency Injection 의 약자로 IoC로 명확한 의미가 전달되지 않아 만들어진 용어이다. * 의존관계( Dependency relationship)은 UML 에서 ---> 로 나타낸다.A ---> B 는 B가 변하면 A 에 영향을 미친다는 의미.대표적인 경우가 A가 B를 사용할 경우이다. * Dependent ObjectRuntime 시 의존관계를 맺는 대상 혹은 실제 사용대상인 object. * 의존관계 주입은 다음 세 가지 조건을 충족한다.1. 클래스 모델이나 코드에는 runtime 시점의 의존관계가 드러나지 않는다. 즉 interface 에만 의존한다. 2. 런타임 시점의 .. 2013. 7. 3.
반응형