首先對不起我的英語,這不是我的母語langage :)我得到一個__NSCFNumber isEqualToString:]錯誤
我得到這個崩潰
「終止應用程序由於未捕獲異常 'NSInvalidArgumentException',原因:' - [__ NSCFNumber isEqualToString:]:無法識別的選擇器發送到實例0x68b9d00'「。
我在這裏看到很多類似的錯誤和問題,但其原因與我的截然不同。
我有一個NSObject
,我試圖通過槽prepareForSegue
稱爲事件。 事件是由3 NSString
組成的,這裏是我的Event.h:
@interface Event : NSObject
{
NSString* idEvent;
NSString* lat;
NSString* lng;
}
@property NSString* idEvent;
@property NSString* lat;
@property NSString* lng;
@end
當我在另一邊的事件對象,我可以輸出事件get(NSLog(@"%@", eventGet.lat);)
的內容和它工作正常。 但是,當我嘗試將"eventGet.lat"
放入UILabel
時,出現錯誤。
以下是發生錯誤的代碼: DetailEvent是獲取事件的視圖。
DetailEvent.h:
@interface DetailEvent : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *latEvent;
@property (weak, nonatomic) IBOutlet UILabel *lngEvent;
@property (strong, nonatomic) Event* eventGet;
@end
而且DetailEvent.m:
@implementation DetailEvent
@synthesize latEvent = _latEvent;
@synthesize lngEvent = _lngEvent;
@synthesize eventToDisplay = _eventToDisplay;
- (void)viewDidLoad
{
[super viewDidLoad];
// works fine
NSLog(@"Event lat : %@", _eventToDisplay.lat);
// here is the crash
_latEvent.text = _eventToDisplay.lat;
}
這是混淆了我,我將不勝感激!
謝謝!
請將代碼發佈到創建'Event'對象的地方。看來'lat'被設置爲'NSNumber'的一個實例,而不是'NSString' – sbooth 2012-07-19 05:23:26