클래스 MyUtils에서 클래스 함수 (선언되고 구현 된)가 있습니다. 이 함수를 호출하면 앱이 다운됩니다. 디버거에서 "theFunction"함수의 첫 번째 동작에 중단 점이 있습니다. 그리고이 중단 점은 절대로 도달하지 않습니다. NSString *item = @"youyou";
다음 모든 것이 괜찮아으로 내가 전화를 교체 할 경우Objective-C 및 Cocoa : 함수를 입력하지 않고 클래스 함수를 호출 할 때 충돌이 발생합니다.
2011-01-03 02:05:07.188 Learning Project[1667:207] *** NSInvocation: warning: object 0xe340 of class 'MyUtils' does not implement methodSignatureForSelector: -- trouble ahead
2011-01-03 02:05:07.188 Learning Project[1667:207] *** NSInvocation: warning: object 0xe340 of class 'MyUtils' does not implement doesNotRecognizeSelector: -- abort
:
이// =================================================================================================
// MyUtils.m
// =================================================================================================
+ (NSString*) changeDateFormat_fromFormat:(NSString*)sourceFormat sourceDateString:(NSString*)sourceDateString destFormat:(NSString*)destFormat {
if (sourceDateString == nil) return (nil); **<-- breakpoint here**
NSDate* aDate = [NSDate dateFromString:sourceFormat theDateString:sourceDateString];
return ([aDate stringValueWithFormat:destFormat]);
}
// ===================================================================
// MyUtils.h
// ===================================================================
@interface MyUtils
+ (NSString*) changeDateFormat_fromFormat:(NSString*)sourceFormat sourceDateString:(NSString*)sourceDateString destFormat:(NSString*)destFormat;
+ (void) simpleAlert_ok:(NSString*)alertTitle message:(NSString*)alertMessage;
@end
// ===================================================================
// Elsewhere.m
// ===================================================================
- (void) aFunction:(SomeClass*)someParam {
SomeOtherClass* val = nil;
NSString* intitule = nil;
intitule = [MyUtils changeDateFormat_fromFormat:@"yyyyMMdd" sourceDateString:@"toto" destFormat:@"EEEE dd MMMM yyyy"]; **<-- crash here**
콘솔은 말한다 : 여기
는 코드입니다.호출이 변경되기 전에 이전 NSString에 대한 보존을 강제 수행하면 아무 것도 변경되지 않습니다. 무슨 일이 일어나고 있는지 알고 계신가요?
더 많은 코드를 볼 수 있습니까? 나는 'MyUtils'가 싱글 톤이라고 추측한다. 그 맞습니까? – Moshe
이것은 실제 코드가 아닙니다. 모의 예제를 만들 때 충돌하는 실제 코드의 중요한 부분을 놓친 것일 수 있습니다. 실제로 사용하고있는 것을 보여주십시오. –
@Moshe 아니, 그렇다면'[[MyUtils sharedUtils] ...]' –