'아이폰'에 해당되는 글 30건
- 2012.02.06 [objective c] 탭바 포커스 변경하기
- 2012.02.02 UINavigationController custom
- 2012.01.20 [objective c] 기존 프로젝트에 core data 추가하기
- 2012.01.13 [objective c] 간단하게 경고 팝업(UIAlertView) 띄우기
- 2012.01.05 UIImage to NSData 변환
- 2011.12.27 [아이폰] 웹뷰에서 이벤트 가로채기
- 2011.12.20 [iphone/objective c] 어플 내의 document에 데이터 저장하기
- 2011.12.19 [xcode] objective c와 c++코드 같이 사용하기
- 2011.12.14 [아이폰] 탭바 숨기기
- 2011.12.08 [Objective C] NSArray와 NSMutableArray의 차이점
2012. 2. 6. 15:29
[objective c] 탭바 포커스 변경하기
2012. 2. 6. 15:29 in 아이폰
[self.tabBarController setSelectedIndex:0];
'아이폰' 카테고리의 다른 글
웹뷰로 트위터 연동시 글전송방법 (0) | 2012.02.11 |
---|---|
[objective c] POST 데이터 전송 (0) | 2012.02.11 |
UINavigationController custom (0) | 2012.02.02 |
[objective c] 기존 프로젝트에 core data 추가하기 (0) | 2012.01.20 |
[objective c] 간단하게 경고 팝업(UIAlertView) 띄우기 (0) | 2012.01.13 |
2012. 2. 2. 17:20
UINavigationController custom
2012. 2. 2. 17:20 in 아이폰
http://reysion.tistory.com/15
'아이폰' 카테고리의 다른 글
[objective c] POST 데이터 전송 (0) | 2012.02.11 |
---|---|
[objective c] 탭바 포커스 변경하기 (0) | 2012.02.06 |
[objective c] 기존 프로젝트에 core data 추가하기 (0) | 2012.01.20 |
[objective c] 간단하게 경고 팝업(UIAlertView) 띄우기 (0) | 2012.01.13 |
UIImage to NSData 변환 (0) | 2012.01.05 |
2012. 1. 20. 13:36
[objective c] 기존 프로젝트에 core data 추가하기
2012. 1. 20. 13:36 in 아이폰
1. framework에 CoreData.framework 추가
2. Xcode에서 New File -> IOS 탭 -> Core Data(4.3 기준 이하 버전은 아마 Resource) -> Data model
3. delegate 에 아래의 내용을 추가
--- 헤더
#import <CoreData/CoreData.h>
@interface AppDelegate : NSObject <UIApplicationDelegate> {
NSManagedObjectModel *managedObjectModel;
NSManagedObjectContext *managedObjectContext;
NSPersistentStoreCoordinator *persistentStoreCoordinator;
(...Existing Application Code...)
}
@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator;
- (NSString *)applicationDocumentsDirectory;
(...Existing Application Code...)
@end
--- delegate.m
@implementation AppDelegate
//Explicitly write Core Data accessors
- (NSManagedObjectContext *) managedObjectContext {
if (managedObjectContext != nil) {
return managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil) {
managedObjectContext = [[NSManagedObjectContext alloc] init];
[managedObjectContext setPersistentStoreCoordinator: coordinator];
}
return managedObjectContext;
}
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel != nil) {
return managedObjectModel;
}
managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
return managedObjectModel;
}
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (persistentStoreCoordinator != nil) {
return persistentStoreCoordinator;
}
NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory]
stringByAppendingPathComponent: @"<Project Name>.sqlite"]];
NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc]
initWithManagedObjectModel:[self managedObjectModel]];
if(![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:nil URL:storeUrl options:nil error:&error]) {
/*Error for store creation should be handled in here*/
}
return persistentStoreCoordinator;
}
- (NSString *)applicationDocumentsDirectory {
return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}
(...Existing Application Code...)
- (void)dealloc {
[managedObjectContext release];
[managedObjectModel release];
[persistentStoreCoordinator release];
(...Existing Dealloc Releases...)
}
@end
4. ViewController 에도 아래 내용을 추가
--- 헤더
@interface ViewController : UIViewController <NSFetchedResultsControllerDelegate> {
NSFetchedResultsController *fetchedResultsController;
NSManagedObjectContext *managedObjectContext;
(...Existing Application Code...)
}
@property (nonatomic, retain) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;
@end
--- ViewController.m
@implementation ViewController
@synthesize fetchedResultsController, managedObjectContext;
(...Existing Application Code...)
@end
5. 아래와 같이 사용
ViewController.managedObjectContext = self.managedObjectContext;
2. Xcode에서 New File -> IOS 탭 -> Core Data(4.3 기준 이하 버전은 아마 Resource) -> Data model
3. delegate 에 아래의 내용을 추가
--- 헤더
#import <CoreData/CoreData.h>
@interface AppDelegate : NSObject <UIApplicationDelegate> {
NSManagedObjectModel *managedObjectModel;
NSManagedObjectContext *managedObjectContext;
NSPersistentStoreCoordinator *persistentStoreCoordinator;
(...Existing Application Code...)
}
@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator;
- (NSString *)applicationDocumentsDirectory;
(...Existing Application Code...)
@end
--- delegate.m
@implementation AppDelegate
//Explicitly write Core Data accessors
- (NSManagedObjectContext *) managedObjectContext {
if (managedObjectContext != nil) {
return managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil) {
managedObjectContext = [[NSManagedObjectContext alloc] init];
[managedObjectContext setPersistentStoreCoordinator: coordinator];
}
return managedObjectContext;
}
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel != nil) {
return managedObjectModel;
}
managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
return managedObjectModel;
}
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (persistentStoreCoordinator != nil) {
return persistentStoreCoordinator;
}
NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory]
stringByAppendingPathComponent: @"<Project Name>.sqlite"]];
NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc]
initWithManagedObjectModel:[self managedObjectModel]];
if(![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:nil URL:storeUrl options:nil error:&error]) {
/*Error for store creation should be handled in here*/
}
return persistentStoreCoordinator;
}
- (NSString *)applicationDocumentsDirectory {
return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}
(...Existing Application Code...)
- (void)dealloc {
[managedObjectContext release];
[managedObjectModel release];
[persistentStoreCoordinator release];
(...Existing Dealloc Releases...)
}
@end
4. ViewController 에도 아래 내용을 추가
--- 헤더
@interface ViewController : UIViewController <NSFetchedResultsControllerDelegate> {
NSFetchedResultsController *fetchedResultsController;
NSManagedObjectContext *managedObjectContext;
(...Existing Application Code...)
}
@property (nonatomic, retain) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;
@end
--- ViewController.m
@implementation ViewController
@synthesize fetchedResultsController, managedObjectContext;
(...Existing Application Code...)
@end
5. 아래와 같이 사용
ViewController.managedObjectContext = self.managedObjectContext;
'아이폰' 카테고리의 다른 글
[objective c] 탭바 포커스 변경하기 (0) | 2012.02.06 |
---|---|
UINavigationController custom (0) | 2012.02.02 |
[objective c] 간단하게 경고 팝업(UIAlertView) 띄우기 (0) | 2012.01.13 |
UIImage to NSData 변환 (0) | 2012.01.05 |
[아이폰] 웹뷰에서 이벤트 가로채기 (0) | 2011.12.27 |
2012. 1. 13. 13:56
[objective c] 간단하게 경고 팝업(UIAlertView) 띄우기
2012. 1. 13. 13:56 in 아이폰
UIAlertView
*alert = [[UIAlsertView alloc] initWithTitle:@"타이틀"
message:@"메시지"
delegate:해당 델리게이트
cancelButtonTitle:@"취소 버튼 타이틀"
otherButtonTitle:@"예", @"추가 버튼", nil];
[alert show];
[alert release];
message:@"메시지"
delegate:해당 델리게이트
cancelButtonTitle:@"취소 버튼 타이틀"
otherButtonTitle:@"예", @"추가 버튼", nil];
[alert show];
[alert release];
'아이폰' 카테고리의 다른 글
UINavigationController custom (0) | 2012.02.02 |
---|---|
[objective c] 기존 프로젝트에 core data 추가하기 (0) | 2012.01.20 |
UIImage to NSData 변환 (0) | 2012.01.05 |
[아이폰] 웹뷰에서 이벤트 가로채기 (0) | 2011.12.27 |
[iphone/objective c] 어플 내의 document에 데이터 저장하기 (0) | 2011.12.20 |
2012. 1. 5. 17:04
UIImage to NSData 변환
2012. 1. 5. 17:04 in 아이폰
UIImage *img = [UIImage imageNamed:@"test.png"];
NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);
NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);
NSData to UIImage
UIImage *image = [[UIImage alloc] initWithData:obj];
UIImageView = [[UIImageView] alloc] initWithImage:image];
'아이폰' 카테고리의 다른 글
[objective c] 기존 프로젝트에 core data 추가하기 (0) | 2012.01.20 |
---|---|
[objective c] 간단하게 경고 팝업(UIAlertView) 띄우기 (0) | 2012.01.13 |
[아이폰] 웹뷰에서 이벤트 가로채기 (0) | 2011.12.27 |
[iphone/objective c] 어플 내의 document에 데이터 저장하기 (0) | 2011.12.20 |
[xcode] objective c와 c++코드 같이 사용하기 (0) | 2011.12.19 |
2011. 12. 27. 10:31
[아이폰] 웹뷰에서 이벤트 가로채기
2011. 12. 27. 10:31 in 아이폰
참고 : http://j2enty.tistory.com/86
웹에서 발생하는 이벤트를 어플 내에서 처리하려면 UIWebViewDelegate의 webView: shouldStartLoadWithRequest: navigationType: 메서드를 이용하면 된다.
간단한 예제
1. 웹뷰가 있는 View에 <UIWebViewDelegate> 프로토콜을 추가해주고, 인터페이스 빌더에서 delegate를 연결해준다.
2. 아래의 메서드를 구현해준다.
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSString *requestStr = [[request URL] absoluteString];
NSLog(@"%@", requestStr);
if([requestStr isEqualToString:@"http://m.search.naver.com/search.naver?query=&where=m&sm=mtp_hty.idx"])
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"모바일 웹 전체서비스" message:@"테스트 중입니다." delegate:self cancelButtonTitle:@"확인" otherButtonTitles:nil, nil];
[alertView show];
[alertView release];
return NO;
}
return YES;
}
3. 실행 후 네이버를 실행하여 검색 버튼을 누르면 팝업이 뜨는 것을 확인할 수 있다.
웹에서 발생하는 이벤트를 어플 내에서 처리하려면 UIWebViewDelegate의 webView: shouldStartLoadWithRequest: navigationType: 메서드를 이용하면 된다.
간단한 예제
1. 웹뷰가 있는 View에 <UIWebViewDelegate> 프로토콜을 추가해주고, 인터페이스 빌더에서 delegate를 연결해준다.
2. 아래의 메서드를 구현해준다.
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSString *requestStr = [[request URL] absoluteString];
NSLog(@"%@", requestStr);
if([requestStr isEqualToString:@"http://m.search.naver.com/search.naver?query=&where=m&sm=mtp_hty.idx"])
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"모바일 웹 전체서비스" message:@"테스트 중입니다." delegate:self cancelButtonTitle:@"확인" otherButtonTitles:nil, nil];
[alertView show];
[alertView release];
return NO;
}
return YES;
}
3. 실행 후 네이버를 실행하여 검색 버튼을 누르면 팝업이 뜨는 것을 확인할 수 있다.
'아이폰' 카테고리의 다른 글
[objective c] 간단하게 경고 팝업(UIAlertView) 띄우기 (0) | 2012.01.13 |
---|---|
UIImage to NSData 변환 (0) | 2012.01.05 |
[iphone/objective c] 어플 내의 document에 데이터 저장하기 (0) | 2011.12.20 |
[xcode] objective c와 c++코드 같이 사용하기 (0) | 2011.12.19 |
[아이폰] 탭바 숨기기 (0) | 2011.12.14 |
2011. 12. 20. 10:01
[iphone/objective c] 어플 내의 document에 데이터 저장하기
2011. 12. 20. 10:01 in 아이폰
출처 : http://blog.xiles.net/333
http://mongkoon.com/main/bbs/board.php?bo_table=06_15&wr_id=144
파일 불러오기
http://mongkoon.com/main/bbs/board.php?bo_table=06_15&wr_id=144
- (BOOL)writeApplicationData:(NSData *)data toFile:(NSString *)fileName {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
if (!documentsDirectory) {
NSLog(@"Documents directory not found!");
return NO;
}
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
return ([data writeToFile:appFile atomically:YES]);
}
* Array 저장하고 불러오는 예제인데 개별 파일에 대해서도 동일하게 동작한다.
파일 저장
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fullFileName = [NSString stringWithFormat:@"%@/arraySaveFile", documentsDirectory];
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:@"One"];
[array addObject:@"Two"];
[array addObject:@"Three"];
[array addObject:@"One"];
[array addObject:@"Two"];
[array addObject:@"Three"];
[array writeToFile:fullFileName atomically:NO];
파일 불러오기
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fullFileName = [NSString stringWithFormat:@"%@/arraySaveFile", documentsDirectory];
NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:fullFileName];'아이폰' 카테고리의 다른 글
UIImage to NSData 변환 (0) | 2012.01.05 |
---|---|
[아이폰] 웹뷰에서 이벤트 가로채기 (0) | 2011.12.27 |
[xcode] objective c와 c++코드 같이 사용하기 (0) | 2011.12.19 |
[아이폰] 탭바 숨기기 (0) | 2011.12.14 |
[Objective C] NSArray와 NSMutableArray의 차이점 (0) | 2011.12.08 |
2011. 12. 19. 11:52
[xcode] objective c와 c++코드 같이 사용하기
2011. 12. 19. 11:52 in 아이폰
1. c++로 만들어진 파일의 확장자를 cpp -> mm으로 바꿔서 프로젝트에 넣어준다.
2. c++에 있는 클래스나 메서드등을 사용하게 되는 소스들도 mm으로 바꿔준다.
2. c++에 있는 클래스나 메서드등을 사용하게 되는 소스들도 mm으로 바꿔준다.
'아이폰' 카테고리의 다른 글
[아이폰] 웹뷰에서 이벤트 가로채기 (0) | 2011.12.27 |
---|---|
[iphone/objective c] 어플 내의 document에 데이터 저장하기 (0) | 2011.12.20 |
[아이폰] 탭바 숨기기 (0) | 2011.12.14 |
[Objective C] NSArray와 NSMutableArray의 차이점 (0) | 2011.12.08 |
[Xcode] WebView로 웹페이지를 불러오는 간단한 소스 (0) | 2011.12.07 |
2011. 12. 14. 15:08
[아이폰] 탭바 숨기기
2011. 12. 14. 15:08 in 아이폰
하단의 탭바를 숨기거나 다시 나타가게 하는 방법은 아래와 같다.
// 탭바를 숨기는 메서드
- (void)hideTabbar:(UITabBarController *)tabbarcontroller {
for (UIView *view in tabbarcontroller.view.subviews) {
if ([view isKindOfClass:[UITabBar class]]) {
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}
}
}
// 탭바를 다시 나타나게하는 메서드
- (void)showTabbar:(UITabBarController *)tabbarcontroller {
for(UIView *view in tabbarcontroller.view.subviews)
{
if([view isKindOfClass:[UITabBar class]]) {
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];
}
else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
}
}
}
사용법은 예를 들어 특정 버튼을 누르면 사라지게 한다면
해당 버튼의 IBAction 메서드에서 [self hideTabbar:self.tabBarController] 식으로 호출해주면 된다.
// 탭바를 숨기는 메서드
- (void)hideTabbar:(UITabBarController *)tabbarcontroller {
for (UIView *view in tabbarcontroller.view.subviews) {
if ([view isKindOfClass:[UITabBar class]]) {
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}
}
}
// 탭바를 다시 나타나게하는 메서드
- (void)showTabbar:(UITabBarController *)tabbarcontroller {
for(UIView *view in tabbarcontroller.view.subviews)
{
if([view isKindOfClass:[UITabBar class]]) {
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];
}
else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
}
}
}
사용법은 예를 들어 특정 버튼을 누르면 사라지게 한다면
해당 버튼의 IBAction 메서드에서 [self hideTabbar:self.tabBarController] 식으로 호출해주면 된다.
'아이폰' 카테고리의 다른 글
[iphone/objective c] 어플 내의 document에 데이터 저장하기 (0) | 2011.12.20 |
---|---|
[xcode] objective c와 c++코드 같이 사용하기 (0) | 2011.12.19 |
[Objective C] NSArray와 NSMutableArray의 차이점 (0) | 2011.12.08 |
[Xcode] WebView로 웹페이지를 불러오는 간단한 소스 (0) | 2011.12.07 |
[Objective C] 숫자를 표현하는 세가지 방법 (0) | 2011.12.06 |
2011. 12. 8. 10:14
[Objective C] NSArray와 NSMutableArray의 차이점
2011. 12. 8. 10:14 in 아이폰
생성 코드는 비슷하다.
NSArray *arr = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", nil];
NSMutable *mtarr = [[NSMutable alloc] initWithObject:@"a", @"b", @"c", nil];
이 두 배열의 차이점은
NSArray는 생성/초기화 후에는 수정/추가/삭제가 불가능하지만
NSMutable은 가능하다는 것이다.
NSArray *arr = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", nil];
NSMutable *mtarr = [[NSMutable alloc] initWithObject:@"a", @"b", @"c", nil];
이 두 배열의 차이점은
NSArray는 생성/초기화 후에는 수정/추가/삭제가 불가능하지만
NSMutable은 가능하다는 것이다.
'아이폰' 카테고리의 다른 글
[xcode] objective c와 c++코드 같이 사용하기 (0) | 2011.12.19 |
---|---|
[아이폰] 탭바 숨기기 (0) | 2011.12.14 |
[Xcode] WebView로 웹페이지를 불러오는 간단한 소스 (0) | 2011.12.07 |
[Objective C] 숫자를 표현하는 세가지 방법 (0) | 2011.12.06 |
[Xcode 4.2] 소스 별로 ARC를 해제하기 (0) | 2011.12.05 |