2015-01-20 5 views
0

안녕하세요. UIAlertView 카테고리를 사용하고 싶지만 오류가 발생합니다. use of undeclared identifier UIAlertView & cannot find interface declaration for UIAlertView. 내가 뭘 잘못하고있어?UIAlertView 카테고리 : 오류 발생

여기

#import <Foundation/Foundation.h> 

@interface UIAlertView(error) 

+(void)error:(NSString*)msg; 

@end 

여기 is.h

#import "UIAlertView+error.h" 

@implementation UIAlertView(error) 
+(void)error:(NSString*)msg 
{ 
    [[[UIAlertView alloc] initWithTitle:@"Error" 
          message:msg 
          delegate:nil 
        cancelButtonTitle:@"Close" 
        otherButtonTitles: nil] show]; 
} 
@end 

어떤 아이디어가하는 .m입니까?

답변

1

이것은 UIAlertView의 카테고리이며 UIAlertView는 Foundation이 아니라 UIKit에 있습니다. 그래서

#import <UIKit/UIKit.h> 
+1

I user7221 @를 먼저 몇 가지 기본 사항을 공부하라고 제안합니다. 수입과 프레임 워크를 다루는 것은 이해해야 할 가장 기본적인 것들입니다. 어디서나 문서화. 그렇게 요구하지 않습니다. – plluke

0

내가 UIAlertView는 사용되지 않으며 지금부터 언제든지 제거 할 수 있기 때문에 당신의 UIAlertController를 사용하여 범주를 다시 생각하는 것이 좋습니다.

이 전환을 돕기 위해 UIAlertView 동작을 모방 한 간단한 범주 래퍼를 만들었습니다. 다음과 같은 요지를 얻을 수 있습니다 : UIAlertController+Utilities

그리고 이것은 아이폰 OS 버전 8.0 이전의 지원 위의 범주와 조건의 경우 문을 사용하여 방법의 간단한 리팩토링이다

+(void)error:(NSString*)msg 
{ 
    if(([[[UIDevice currentDevice] systemVersion] compare:@"8.0" options:NSNumericSearch] != NSOrderedAscending)) { 
     UIAlertController *ac = [UIAlertController alertControllerWithTitle:@"Error" 
                    message:msg 
                    actions:[UIAlertAction actionWithTitle:@"Close" 
                            style:UIAlertActionStyleCancel 
                            handler:^(UIAlertAction *action) { 
                             //add your CLOSE instructions here 
                            }], nil]; 

     [[[[UIApplication sharedApplication] keyWindow] rootViewController] presentViewController:ac animated:YES completion:^{ 
      //do whatever you want on presentation completition 
     }]; 
    } else { 
     [[[UIAlertView alloc] initWithTitle:@"Error" 
            message:msg 
            delegate:nil 
          cancelButtonTitle:@"Close" 
          otherButtonTitles: nil] show]; 
    } 
} 
+0

재미 있고 아프다. 고마워. 고마워. – user7221