iPhone 용 UIKit에 대해 코딩.컨트롤러에서 사용자 정의 메서드로 NSView로 컨텍스트를 통신 할 때 경고
SomeView.h :
#import <UIKit/UIKit.h>
@interface SomeView : UIView {
SomeObject *myObject;
}
@property (assign) SomeObject *myObject;
-(void) doSomething;
@end
SomeView.m :
#import "SomeView.h"
@implementation SomeView
@synthesize myObject;
- (void)doSomething {
NSLog(@"doing something");
}
- (void) drawRect:(CGRect)rect {
// drawing is based on myObject
}
@end
Controller.h :
#import <UIKit/UIKit.h>
#import "SomeView.h"
@interface Controller : NSObject {
IBOutlet UIView *someView;
}
@end
Controller.m 관련 세부
설정, :
#import "Controller.h"
@implementation Controller
-(void)awakeFromNib {
[someView doSomething];
[someView setSomeObject:someObject];
}
@end
인터페이스 작성기에서 컨트롤러 개체를 인스턴스화하고 SomeView는 내 응용 프로그램의 기본 창에서 내 사용자 지정 UIView 중 하나의 클래스입니다. 이제
, 질문 : 나는 위를 실행할 때1), 나는 두 줄에 대한 경고를 얻을 : 및 setSomeObject 비슷한 경고 : "경고 해봐요 '으로 UIView가 응답하지 않을 수 있습니다'". 왜? (코드는 실제로 작동하는 것처럼 보이지만 경고를 보는 것을 좋아하지 않습니다.)
2) 올바른 방법일까요? 내가 실제로 후, SomeView SomeView, someView에 대한 drawRect 호출 될 때, someObject 현재 상태를 기반으로 동작을 변경할 수 있도록 인식하고 있습니다. SomeView에서 직접 객체를 가질 필요는 없습니다. 나는 컨트롤러에서 그것을 가질 수 있었지만, 뷰는 런타임에서 변경 될 수있는 정보를 여전히 필요로한다.
감사합니다. 컨트롤러 헤더에 형식이 잘못되었습니다. – Jaanus