非常に長い話ですが、私がいじっているコードにいくつかの奇妙なバグがあり、それは間違ったクラスとして識別されているオブジェクトに起因していることがわかりました。
これが私のコードです。何かがオブジェクトに触れる前にNSLogステートメントを配置しています...なぜそれが間違ったクラスとして表示されているのか理解できません。
Photo.h
@interface Photo : NSObject
{
}
@property (nonatomic, retain) UIImage *image;
@property (nonatomic, retain) IBOutlet NSString *descr;
@end
Photo.m
@implementation Photo
@synthesize image;
@synthesize descr;
@end
CameraViewController.h
#include "Photo.h"
@interface CameraViewController : UIViewController <UIImagePickerControllerDelegate>
{
IBOutlet UIImageView *imageView;
}
@property (nonatomic, retain) Photo *photo;
-(void)takePhoto;
-(void)resetImage;
@end
そして最後に...CameraViewController.m
#import "Photo.h"
....
@implementation CameraViewController
@synthesize photo;
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"%@", NSStringFromClass([_photo class]));
// Do any additional setup after loading the view.
}
これは印刷されます:
UIImageView
私はそれが印刷されることを期待します
Photo
または少なくとも
NSObject
私は何かが足りないのですか?