升级到Xcode 6.3后,我现在收到此警告:
Warning: Function definition inside an Objective-C object is deprecated
警告出现在NSString的一个类别中,我已经定义了UIKIT_STATIC_INLINE
方法。
以下是有问题的代码:
// NSString+Helpers.h
#import <Foundation/Foundation.h>
@interface NSString (Helpers)
+ (BOOL)exampleCategoryMethod;
UIKIT_STATIC_INLINE NSString *NSStringFromCLLocationCoordinate2D(CLLocationCoordinate2D coordinate) {
return [NSString stringWithFormat:@"%f,%f", coordinate.latitude, coordinate.longitude];
}
@end
答案 0 :(得分:6)
我只需将静态内联函数定义移到@interface
之外。
以下是修改过的代码:
// NSString+Helpers.h
#import <Foundation/Foundation.h>
UIKIT_STATIC_INLINE NSString *NSStringFromCLLocationCoordinate2D(CLLocationCoordinate2D coordinate) {
return [NSString stringWithFormat:@"%f,%f", coordinate.latitude, coordinate.longitude];
}
@interface NSString (Helpers)
+ (BOOL)exampleCategoryMethod;
@end