Я создал подкласс UIButton:
//
// DetailButton.h
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface MyDetailButton : UIButton {
NSObject *annotation;
}
@property (nonatomic, retain) NSObject *annotation;
@end
//
// DetailButton.m
//
#import "MyDetailButton.h"
@implementation MyDetailButton
@synthesize annotation;
@end
Я решил, что смогу создать этот объект и установить объект аннотации, выполнив следующие действия:
MyDetailButton* rightButton = [MyDetailButton buttonWithType:UIButtonTypeDetailDisclosure];
rightButton.annotation = localAnnotation;
localAnnotation - это NSObject, но на самом деле это MKAnnotation. Я не могу понять, почему это не работает, но во время выполнения я получаю эту ошибку:
2010-05-27 10:37:29.214 DonorMapProto1[5241:207] *** -[UIButton annotation]: unrecognized selector sent to instance 0x445a190
2010-05-27 10:37:29.215 DonorMapProto1[5241:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIButton annotation]: unrecognized selector sent to instance 0x445a190'
Я не могу понять, почему он даже смотрит на UIButton, потому что я подклассифицировал это, поэтому он должен смотреть на класс MyDetailButton, чтобы установить это свойство аннотации. Я пропустил что-то действительно очевидное. По ощущениям:)
Заранее благодарим за любую помощь, которую вы можете оказать
Ross