UIAlertView 띄우는 법


UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@""

                                                                     message:@"가라미네이트 "

                                                                     delegate:self

                                                       cancelButtonTitle:@"취소"                   /* nil 지정할 경우 cancel button 없음 */

                                                       otherButtonTitles:@"확인", nil];

    

[alert show];


Posted by 知彼知己百戰不殆
,

http://kapps.co.kr/bbs/board.php?bo_table=m52&wr_id=33

Posted by 知彼知己百戰不殆
,


I came across this problem and my senior told me about a solution i.e:

Right click on your projectname.xcodeproj file here projectname will be the name of your project. Now after right clicked select Show Packages Contents. After that open your projectname.pbxproj file in a text editor. Now search for the line containing <<<<<<< .mine, ======= and >>>>>>> .r. For example in my case it looked liked this 

<<<<<<< .mine
    9ADAAC6A15DCEF6A0019ACA8 .... in Resources */,
=======
    52FD7F3D15DCEAEF009E9322 ... in Resources */,
>>>>>>> .r269

Now remove those <<<<<<< .mine, ======= and >>>>>>> .r lines so it would look like this 

    9ADAAC6A15DCEF6A0019ACA8 /* BuyPriceBtn.png in Resources */,

    52FD7F3D15DCEAEF009E9322 /* discussionForm.zip in Resources */,

Now save and open your Xcode project and build it. Everything will be fine.

shareedit


출처: https://stackoverflow.com/questions/361799/unable-to-open-project-cannot-be-opened-because-the-project-file-cannot-be-pa


P.S 저 부분은 충돌난 부분이라 위, 아래 비교해보고 중복된 부분을 제거해야 함.. 단순 기호만 제거하면 제대로 된 충돌처리가 되지 않은 거

Posted by 知彼知己百戰不殆
,

프레임워크에서 CPU 아키텍쳐 확인하기

확인하는 법: file [Framework name]/[Framework binary file name]

Framework name은 터미널 열고 프레임워크 끌어다 놓으면 자동으로 완성

보통 Framework binary file name은 프레임워크 이름이랑 같다. 아닐 수도 있음

위의 화면은 arm64 계열에서만 돌아가는 프레임워크이다. 따라서 armv7s를 사용하는 iPhone5에서는 빌드할 때 에러가 난다.

위의 화면은 arm64 계열과 armv7 CPU에서 빌드가 가능한 프레임워크이다. 따라서 최신(iPhone7~iPhone6)폰부터 예전폰(iPhone5~iPhone4)까지 모두 빌드가 가능한 프레임워크이다.


Posted by 知彼知己百戰不殆
,

라이브러리를 추가할 때 Embedded Binaries에 넣는 게 있고, Link Binary With Libraries에 넣는 게 있다. 잘 구분해서 넣어야 함.

잘못된 위치에 라이브러리 링크를 걸면 프레임워크쪽 에러 발생



Posted by 知彼知己百戰不殆
,

파란 폴더: 폴더 구조 그대로 배치된다.


노란 폴더: 해당 디렉토리를 포함하고 있는 부모 디렉토리에 모두 풀어서 들어가게 된다. 보여지는 형식만 디렉토리 형식으로 보여지는 것.


폴더를 추가할 때 창이 하나 뜨는데 (나중에 스샷 첨부) create folder references for any added folders 선택 후 finish 해줘야 파란색으로 추가가 된다. 그 이후로는 finder에서 파일을 추가해도 자동으로 xcode에 추가가 된다. 



Posted by 知彼知己百戰不殆
,

? : Unversioned

M: Modified (수정 되었으므로 레포지토리에 저장되어야 함)

A: Added ( 추가 되었으므로 레포지토리에 추가되어야 함)

A+: Moved / renamed

U: Newer version of a file on source control

R: 삭제 되었으므로 레포지토리에서 삭제되어야 함

Posted by 知彼知己百戰不殆
,

http://seorenn.blogspot.kr/2014/06/swift_16.html


http://xguru.net/622


https://cocoapods.org/ 

//코코아 팟 라이브러리 사용

Posted by 知彼知己百戰不殆
,

스토리보드는 TextField 3개, 버튼 2개로 구성하였다. ID/PWD를 받는 Textfield 각각 1개씩 그리고 저장 버튼, 불러오기 버튼, 불러오기 버튼을 눌렀을 때 ID와 PWD를 표시해줄 TextField 1개.


#import <UIKit/UIKit.h>


@interface ViewController : UIViewController


- (IBAction)BtnSave:(id)sender;

- (IBAction)BtnLoad:(id)sender;


@property (weak, nonatomic) IBOutlet UITextField *txtF_ID;

@property (weak, nonatomic) IBOutlet UITextField *txtF_Pwd;


@property (weak, nonatomic) IBOutlet UITextField *txtF_Load;


extern NSString* value;

@end



ViewController.m 파일의 소스 코드이다.


#import "ViewController.h"


@interface ViewController ()




@end


@implementation ViewController


- (void)viewDidLoad

{

    [super viewDidLoad];

    NSLog(@"[D] viewDidLoad");

    // Do any additional setup after loading the view, typically from a nib.

}



- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}



- (IBAction)BtnSave:(id)sender

{

    @autoreleasepool {

        

        NSLog(@"[D] BtnSave Clicked...");

//        NSString* tmpText = _txtF_ID.text;

//        NSString* tmpText2 = _txtF_Pwd.text;

//        NSLog(@"[D] ID: %@  Passwd: %@",tmpText, tmpText2);

//        NSLog(@"[D] ID: %@  Passwd: %@",_txtF_ID.text, _txtF_Pwd.text);

//        [dic setObject:_txtF_ID.text forKey: @"first"];

//        self.dic = [NSMutableDictionary dic];

//        [dic setString:tmpText forKey:@"First"];

//        _txtF_ID.text = [_txtF_ID.text stringByAppendingString:@"This is ID"];

//        NSLog(@"[D] Append to text: %@", [_txtF_ID.text stringByAppendingString:_txtF_Pwd.text]);

        NSMutableDictionary* dic = [[NSMutableDictionary alloc] init];

        [dic setObject:[_txtF_ID.text stringByAppendingString:_txtF_Pwd.text] forKey: @"first"];


//        NSString* str = [dic objectForKey:@"first"];

//        NSLog(@"[D] Dictionary contents: %@", str);


        NSLog(@"[D] Dictionary contents: %@", [dic objectForKey:@"first"]);

        

        [[NSUserDefaults standardUserDefaults] setObject:[dic objectForKey:@"first"] forKey:@"first"];

        [[NSUserDefaults standardUserDefaults] synchronize];


//        [[NSUserDefaults standardUserDefaults] setObject:dic forKey:@"first"];

//        [[NSUserDefaults standardUserDefaults] synchronize];


        

        id value = [[NSUserDefaults standardUserDefaults] objectForKey:@"first"];

        NSLog(@"[D] NSUserDefaults Contents: %@", value);

        

    } // end of autoreleasepool

    

}


- (IBAction)BtnLoad:(id)sender

{

    NSLog(@"[D] BtnLoad Clicked...");

    NSMutableDictionary* value = [[NSUserDefaults standardUserDefaults] objectForKey:@"first"];

//    NSMutableDictionary* value;

//    [value objectForKey:@"first"];

    NSLog(@"[D] Load NSUserDefaults Contents: %@", value);

    

    _txtF_Load.text = value;

}

@end


수없이 많은 노가다를 거치고 나서 data를 NSDictionary에 넣고 Userdefault로 저장한 후 다시 Userdefault로 data를 불러들이는 걸 할 수 있었다.

스토리보드상에서 TextField에 지워지는 회색 글씨를 띄우려면 attribute inspector 에서 PlaceHolder에 글씨를 써주면 된다. 


Posted by 知彼知己百戰不殆
,

====NSUserDefaults 값 저장====

1. int 값 저장

[[NSUserDefaults standardUserDefaults] setInteger:<int value> forKey:<key value>];

2. bool 값 저장

[[NSUserDefaults standardUserDefaults] setBool:<bool value> forKey:<key value>];

3. object 저장

[[NSUserDefaults standardUserDefaults] setObject:<object> forKey:<key value>];

4. 저장한 데이터 동기화(적용)

[[NSUserDefaults standardUserDefaults] synchronize];


====NSUserDefaults에 저장된 데이터 읽기====

1. int 값 읽기

int value = [[NSUserDefaults standardUserDefaults] integerForKey:<key value>];

2. bool 값 읽기

bool value = [[NSUserDefaults standardUserDefaults] boolForKey:<key value>];

3. NSString 값 읽기 (NSString 값 저장은 NSString 자체가 object이기 때문에 setObject를 이용하면 됨

NSString* value = [[NSUserDefaults standardUserDefaults] stringForKey:<key value>];

4. object 읽기
id value = [[NSUserDefaults standardUserDefaults] objectForKey:<key value>];


출처: http://stormaa.tistory.com/38

Posted by 知彼知己百戰不殆
,