Рассмотрение кода
Если Вы испытываете затруднения, заставляя Ваше приложение работать правильно, сравнить Ваш код со списками, показанными в конце этой главы и рассмотреть Ваше действие и соединения розетки.
Код и предупреждения компилятора
Ваш код должен скомпилировать без любых предупреждений. При получении предупреждений рекомендуется обработать их как, вероятно, чтобы быть ошибками. Поскольку Objective C является выразительным языком, иногда максимум, который Вы получаете от компилятора, является предупреждением.
Листинги кода
Этот раздел обеспечивает списки для интерфейса и файлов реализации AppDelegate и Track классы. Эти списки не показывают комментарии и другие реализации метода, которые предоставлены шаблоном Xcode.
Интерфейсный файл: AppDelegate.h
#import <Cocoa/Cocoa.h> |
@class Track; |
@interface AppDelegate : NSObject <NSApplicationDelegate> |
@property (assign) IBOutlet NSWindow *window; |
@property (weak) IBOutlet NSTextField *textField; |
@property (weak) IBOutlet NSSlider *slider; |
@property (strong) Track *track; |
- (IBAction)mute:(id)sender; |
- (IBAction)takeFloatValueForVolumeFrom:(id)sender; |
- (void)updateUserInterface; |
@end |
Файл реализации: AppDelegate.m
#import "AppDelegate.h" |
#import "Track.h" |
@implementation AppDelegate |
@synthesize textField = _textField; |
@synthesize slider = _slider; |
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification |
{ |
Track *aTrack = [[Track alloc] init]; |
[self setTrack:aTrack]; |
[self updateUserInterface]; |
} |
- (IBAction)mute:(id)sender { |
[self.track setVolume:0.0]; |
[self updateUserInterface]; |
} |
- (IBAction)takeFloatValueForVolumeFrom:(id)sender { |
float newValue = [sender floatValue]; |
[self.track setVolume:newValue]; |
[self updateUserInterface]; |
} |
- (void)updateUserInterface { |
float volume = [self.track volume]; |
[self.textField setFloatValue:volume]; |
[self.slider setFloatValue:volume]; |
} |
@end |
Интерфейсный файл: Track.h
#import <Foundation/Foundation.h> |
@interface Track : NSObject |
@property (assign) float volume; |
@end |
Файл реализации: Track.m
#import "Track.h" |
@implementation Track |
@end |
© 2013 Apple Inc.Все права защищены. (Последнее обновление: 23.04.2013)