I get ObjC code with a lot of constructs like this:
in header file:
#import <Cocoa/Cocoa.h>
@interface AAPLView : NSView
{
NSImage *image;
}
@property(strong) NSImage *image;
@endin implementation:
- (NSImage *)image {
return image;
}
- (void)setImage:(NSImage *)newImage {
if (image != newImage) {
image = newImage;
[self setNeedsDisplay:YES];
}
}How to port in swift ?
If I write :
import Cocoa
class AAPLView: NSView {
var image : NSImage? {
get {
return self.image
}
set (newImage) {
if (image != newImage) {
self.image = newImage;
self.needsDisplay = true
}
}
}I get an infinite loop on get as self.image calls itself repeatidly (why not the problem in ObjC ?)
So I write :
import Cocoa
class AAPLView: NSView {
var image : NSImage? {
didSet (newImage) {
if (image != newImage) {
self.image = newImage;
self.needsDisplay = true
}
}
}What about the getter in this case ?
- (NSImage *)image {
return image;