본문 바로가기
[Objective-C] performSelector: 가 경고를 뿜는다? [Objective-C] performSelector: 가 경고를 뿜는다? http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown -Manual Memory Management 시절에서는 performSelector: 가 OK!! -ARC 의 등장으로 performSelector: 는 경고를 내뿜게 되었고.. -Swift 에서는 performSelector: 를 접근하지 못하게 하고, 문서에도 unsafe 하니 쓰지 말라고 해놓았다. -ARC 이후에 performSelector: 를 쓰고 싶다면 이런 방식으로 사용하는 것이 권장된다.ARC 가 detect 하지 못하는 .. 2017. 12. 9.
[ios] Objective-C 와 Swift 동시에 사용하기 [ios] Objective-C 와 Swift 동시에 사용하기 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html Swift Code 에서 Objective-C 코드 사용하기-Swift Code 에서 Objective-C 코드를 쓰려면, Objective-C bridging header 가 필요하다.Xocde 는 Objective-C app 에서 Swift file 을 추가할 때, 혹은 그 반대일 때 이를 쉽게 만들 수 있도록 도와준다. 이 과정을 통해 만들어진 header 파일은 [productModuleName]-Bridging-Header.h 파일명을 갖는다. 이.. 2017. 12. 2.
[iOS] Swift vs. Objective-C [iOS] Swift vs. Objective-C http://www.infoworld.com/article/2920333/mobile-development/swift-vs-objective-c-10-reasons-the-future-favors-swift.html -결론적으로 이 글은 Swift 가 더 좋음을 강조 -Swift 는 더 읽기 쉽다. Objective-C 는 기본적으로 C 베이스로 발전한 것이기 때문에 C 에서 예약한 keyword 를 사용할 수 없다.그래서 @ 를 이용한 keyword 를 사용하는데 가독성이 그리 좋지 않다. Swift 는 위의 @ keyword 관련 문제 뿐만 아니라statement 마지막의 세미콜론이 없어도 되고, conditional expression 에 ( ) 도.. 2017. 9. 13.
[android] Kotlin (코틀린) 이 뭐야? [android] Kotlin (코틀린) 이 뭐야? 참조 : https://realm.io/kr/news/android-kotlin/ -kotlin 이 등장하기 시작한 것은, Oracle 과 Google 의 Java 에 대한 소송으로부터 야기된다.언젠가 Google 이 패소하거나, 소송에 지쳐 Java 를 버릴 수 있다는 판단 하에 사람들은 대안이 될 수 있는 언어를 찾는다.구글의 새로운 언어인 Go 가 그 위치를 차지한다는 이야기가 있었지만, 기존 android 가 Java 와 JVM 기반이기 때문에 이는 신빙성이 낮고..JVM 기반에서 작동할 수 있는 Kotlin 이 유력한 대안으로 이야기되고 있다가.. 이제 정식으로 공식 언어가 되었다!! -Kotlin 은 Jetbrains( Intelli J 만든.. 2017. 7. 25.
Groovy 언어에 대해 살짝 알아보자~ Groovy 언어에 대해 살짝 알아보자~ IOS 8 부터 Object-C 를 버리고 Swift라는 새로운 언어를 선택했듯.. ( 아직 완전히 버린 건 아니고 혼재해서 사용하지만.. )안드로이드 혹은 자바 진영에서도, 더 짧게 언어를 쓰기 위해 Groovy 라는 언어를 채택하려는 움직임들이 일고 있다. public class FeedActivity { TextView mTextView; ... void updateFeed() { new FeedTask().execute("http://path/to/feed"); } class FeedTask extends AsyncTask { protected String doInBackground(String... params) { DefaultHttpClient htt.. 2015. 2. 20.
반응형