본문 바로가기
[ios] Constraint animation 주기 [ios] Constraint animation 주기 -간단하다.self.someConstraint.constant = -10; // 0.25 는 CABasicAnimation 의 Default Animation 값[UIView animateWithDuration:0.25 animations:^{ [self layoutIfNeeded];}]; animatewithduration, animation, constant, constraint, constraint animation, layoutIfNeeded, [ios] Constraint animation 주기 2017. 12. 19.
[ios] System font 가져오기 [ios] System font 가져오기 -8.2 이상부터 사용할 수 있는것으로[UIFont systemFontOfSize:size weight:UIFontWeightLight]; -8.2 미만에서는 아래와 같이 처리해주어야 한다.[UIFont fontWithName:@"HelveticaNeue-Light" size:size]; -둘 다 수용할만한 코드는 아래와 같이..if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.2) { return [self systemFontOfSize:size weight:UIFontWeightLight];} else { return [self fontWithName:@"HelveticaNeue-Light" siz.. 2017. 12. 18.
[ios] block typedef 방법 & param 기입 방법 [ios] block typedef 방법 & param 기입 방법 -block 의 typedef 는 문법이 딱 와닿지 않는다. -typedef 를 할 때는 block 을 함수 포인터라고 생각하고 정의하면 쉽다. -Syntax :typedef returnType (^blockName)(params); Example :typdef void (^MyBlock)(UIView * _Nonnull view); -param 으로 쓸 때는 또 다른 형태가 된다. -Syntax :(returnType (^)(params)) paramName Example :-(void)doSomething:(void (^)(UIView * _Nonnull))block; block typedef, blockname, Example, Pa.. 2017. 12. 17.
[ios] extern 변수에 nullability 지정하기 [ios] extern 변수에 nullability 지정하기 -nullability 에 대한 호환이 100% 갖춰지지 않아서인지 이 글을 쓰는 시점에 순서가 명확하지 않은 부분들이 있다. -아래와 같은 순서로 type 과 const 사이에 써 주면 된다.extern NSString * _Nonnull const kTESTMyConst; const, nullability, [ios] extern 변수에 nullability 지정하기, _Nonnull, _Nullable, 위치 2017. 12. 16.
[ios] extern const vs. static const in header [ios] extern const vs. static const in header -extern 으로 설정하면 global 하게 유효한 변수가 되기 때문에 == 비교가 가능하다. -static 으로 설정된 변수는 본디 Objective-C 에서는 해당 파일에서 유효하다.따라서 == 비교가 불가능하고, 해당 Type 에 대해 비교를 해야 한다. -Globally Unique 한 Const 선언을 위해서라면 extern 으로 설정하여 사용하는 것이 더 옳다. -주의사항은, extern 으로 설정하는 녀석들은 접두어를 잘 붙여서 사용해야 conflict 가 나지 않는다. [Objective-C] Constant(상수) 정의하기[ios] objective-c 에서의 static constant 정의 하는 방법... 2017. 12. 15.
[ios] Keychain 이란? [ios] Keychain 이란? 출처 : https://en.wikipedia.org/wiki/Keychain_(software) -Keychain 은 OS X 에서 사용하는 비밀번호 관리 시스템이다. ( iOS 포함 ) -여기서는 website, FTP server, SSH, network share, wireless network, groupware, 암호화된 disk image, private key, certificate 등 다양한 종류의 비밀번호를 관리한다. certificate, disk image, ftp server, Groupware, keychain, network share, OS X, Private Key, ssh, website, wireless network, [ios] Key.. 2017. 12. 14.
[ios/tutorial] Implicit Animation 없이 property 값 바꾸기 [ios/tutorial] Implicit Animation 없이 property 값 바꾸기 -예를 들면 버튼의 text 를 바꿀 경우, 자연스럽게 글자가 fade out - fade in animation 이 먹는다.순간적으로 버튼의 text 를 바꿀 경우 이는 원하지 않는 동작일 수 있다. -다음 코드를 수행하면 implicit animation 없이 바로 작업을 수행할 수 있다.[UIView performWithoutAnimation:^{ [self.btn setTitle:btnText forState:UIControlStateNormal]; [self.btn layoutIfNeeded];}]; [ios/tutorial] Implicit Animation -> Layer Level 에 대한 이야기 .. 2017. 12. 13.
[ios] EXC_BAD_ACCESS 디버그 & NSZombie [ios] EXC_BAD_ACCESS 디버그 & NSZombie -다음과 같은 경우에 EXC_BAD_ACCESS 가 발생한다. 1. object 가 initialize 되지 않았다. 2. object 가 이미 release 되어 있다. 3. 그 외… (이 경우는 주로 발생하지 않는다.) -EXC_BAD_ACCESS 디버그는 NSZombie 를 enabling 함으로써 쉽게 접근할 수 있다. 1. XCode 에서 [Product] 메뉴 -> [Scheme] -> [Edit Scheme…] 2. Run 의 [Diagnostics] 탭으로 가서 [Enable Zombie Objects] 를 체크한다. 이렇게 하면 Release 된 object 들이 NSZombie 로 잡혀서 debug 하기가 쉽다. debug.. 2017. 12. 12.
[ios] Core Data Revert / Rollback / Undo [ios] Core Data Revert / Rollback / Undo -CoreData 의 자료들을 다루다가 rollback 을 하고 싶다면 여러 가지 방법이 있다. -[managedObjectContext rollback]; 이 녀석은 지금까지 반영된 & save 되지 않은 모든 변경사항을 되돌린다. -[managedObjectContext undo]; 이 녀석은 가장 최근에 행해진 작업을 되돌리는 역할을 한다.이 녀석과 페어를 이루는 것은 redo -[managedObjectContext refreshObject:object mergeChanges:NO]; 이 녀석은 해당 managedObject 에 대해 변경사항을 버리고 현재 store 에 있는 자료로 reload 한다.mergeChanges .. 2017. 12. 11.
반응형