Ios 4 자습서에서 확인란을 만든 프로그램을 만들었습니다. 나는 아이폰 용 xcode 프로그램을 시작한 친구가 있었다. 그래서, 나는 그가 시작할 수 있도록 그에게 나의 암호를 주었다. 그가 IOS4 용으로 작성한 코드에 따라 ios5에서 코드를 직접 작성하려고했습니다. 그는 자신이 일하지 않고 다음과 같이 몇 가지 오류가 있다는 것을 계속해서 알려주었습니다. 그래서 나는 내 코드를 열어 내 업데이트 된 xcode에서 실행하고 괜찮 았는데 아무런 문제도 없었다. 재미있는 점은 내가 그의 집에 도착했을 때 코드를보고 그 코드를 가지고 놀았습니다. 그는 옳았다. 새 iOS로 새 xcode의 새 프로젝트에서 코드를 작성하려고하면 프로젝트에서 모든 종류의 오류가 발생합니다. 나는 바닥에 몇 가지를 올렸다.initWithFrame IOS 5 내 프로젝트에서 작동하지 않지만 IOS 4 않았다
제 질문은 이것입니다 ... 왜 이까요? ios5가 ARC 및 다른 속성을 사용하는 방식과 관련이 있습니까?
- NSObject의이
- 인스턴스 방법을 initWithFrame에 응답하지 않을 수 있습니다 - setImageForState를 찾을 수 없습니다 (반환 형식 기본값으로 "ID")
- 인스턴스 메소드 - addTarget을 : 조치 : forControlEvents를 찾을 수 없습니다 (ID를 반환 형식의 기본값) 하나라고 checkbox_ticke를 PNG로 가지고 다음과 같이
- MicheckBox는 initWithFrame 에 응답하지 않을 수 있습니다 좀 더
내 코드입니다 d.png 및 checkbox_not_ticked.png
micheckbox.h
#import <UIKit/UIKit.h>
@interface MICheckBox : UIButton
{
BOOL isChecked;
}
@property (nonatomic,assign) BOOL isChecked;
-(IBAction) checkBoxClicked;
@end
micheckbox.m
#import "MICheckBox.h"
@implementation MICheckBox
@synthesize isChecked;
- (id)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame])
{
[self setImage:[UIImage imageNamed:@"checkbox_not_ticked.png"] forState:UIControlStateNormal];
[self
addTarget:self action:@selector(checkBoxClicked)forControlEvents:UIControlEventTouchUpInside];
}
return self;
}
-(IBAction) checkBoxClicked
{
if(self.isChecked ==NO)
{
self.isChecked =YES;
[self setImage:[UIImage imageNamed:@"checkbox_ticked.png"] forState:UIControlStateNormal];
}
else
{
self.isChecked =NO;
[self setImage:[UIImage imageNamed:@"checkbox_not_ticked.png"]forState:UIControlStateNormal];
}
}
- (void)dealloc
{
[super dealloc];
}
@end
MICheckBoxAppDelegate.h
#import <UIKit/UIKit.h>
@interface MICheckBoxAppDelegate : NSObject <UIApplicationDelegate>
{
UIWindow *window;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@end
MICheckBoxAppDelegate.m
#import "MICheckBoxAppDelegate.h"
#import "MICheckBox.h"
@implementation MICheckBoxAppDelegate
@synthesize window;
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
// Override point for customization after application launch
MICheckBox *checkBox =[[MICheckBox alloc]initWithFrame:CGRectMake(5, 80, 150, 30)];
[checkBox setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[checkBox setTitle:@"Checkbox" forState:UIControlStateNormal];
[window addSubview:checkBox];
[window makeKeyAndVisible];
}
- (void)dealloc
{
[window release];
[super dealloc];
}
@end
이것은 Xcode가 오류가있는 wonko로가는 시간 중 하나와 같습니다. 일반적으로'Show issue navigator' 또는 Command-4를보고 목록 맨 위에있는 오류 (빨간색)를보고 싶습니다. 또한 가져 오기에서 철자 오류를 확인하십시오.이 오류는 "MICheckBox.h"헤더가 올바르게 임포트되지 않았 음을 나타냅니다. 그러나 맨 처음 오류를 다시 확인하십시오. – NJones
처음부터 코딩하는 경우 동의 할 것입니다. 하지만, 작년 10 월에 완성 된 프로젝트의 작업 카피입니다. xcode의 새로운 프로젝트에 적용하면 탄도가되고 왼쪽과 오른쪽으로 오류가 발생하기 시작합니다. Btw, 나는 당신의 제안에 대답하기 만했고, 모든 것이 수입품과 순서가 맞춰진 것 같습니다. – Jiraheta
하지만 동의합니다 ... 이것은 xcode가 wonko에 해당하는 시간 중 하나입니다. – Jiraheta