전 Objective-C, XCode 및 iOS 개발을 처음 접했고 모든 UI보기 및 컨트롤이 인스턴스화 된 후 시작시 특정 코드를 실행하는 방법을 파악하려고합니다. . 인터페이스 빌더를 통해 뷰 컨트롤러 장면으로 드래그하여 추가 한 일반 NSObject가 있습니다. 다음과 같이 정의됩니다 :보기 컨트롤러에서 인터페이스 빌더 객체에 액세스
#import <Foundation/Foundation.h>
@interface Controller : NSObject {
IBOutlet UISlider *slider;
IBOutlet UILabel *label;
}
-(IBAction)sliderChanged:(id)sender;
@end
초기화시 sliderChanged를 실행해야합니다. 나는 다음과 같은 방법을 시도했다 :
#import "Controller.h"
@implementation Controller
-(id)init {
self = [super init];
if (self){
[self sliderChanged:nil];
}
return self;
}
// More code here
그러나이 때 나는 내 슬라이더와 라벨이 모두 nil이다. 거기에 ViewController
클래스 내에서 viewDidLoad
메서드는 이해하지만 내 Controller
클래스 (인터페이스 작성기에 의해 장면 뒤에 어딘가에 인스턴스화 된 것 같다) 인스턴스를 액세스하는 방법을 잘 모르겠습니다. 방법. 이 코드는 모두 ViewController
으로 이동해야합니까? 그것은 의미가있는 것처럼 보일 것입니다. 그러나 위의 디자인은 우리가 수업 시간에 지시 한 것입니다. 그래서 이것을 어떻게 할 것인지 잘 모르겠습니다.
두 번째 솔루션 . 건배! –