CGFloat 错误的包装器
Wrapper for CGFloat Error
在我的 CGFloat 包装器中出现错误 Returning CGFloat (aka Double) from a function result type CGfloat aka double take the address with &
+(CGFloat*)pointData;
//
+(CGFloat *)pointData{
NSInteger savedInt = [[NSUserDefaults standardUserDefaults] integerForKey:@"savedPointForText"];
CGFloat textPoint = (CGFloat)savedInt;
if(textPoint <1) {
textPoint = 18.0;
}
return textPoint;
}
如果我这样做 return &textPoint;
我会收到一条警告,返回带有局部变量 "textpoint" 的堆栈内存地址
在这种情况下,您可以 return CGFloat
本身,如果您将签名更改为:
+ (CGFloat)pointData {
你需要 CGFloat *
以防你不想 return 变量(可能是因为你实际上需要操作多个变量):
+ (void)changePointData:(CGFloat *)pointData {
NSInteger savedInt = [[NSUserDefaults standardUserDefaults] integerForKey:@"savedPointForText"];
*pointData = (CGFloat)savedInt;
if (*pointData < 1) {
*pointData = 18.0;
}
}
你可以试试
+(CGFloat)pointData{
//Your code
}
希望对您有所帮助。
在我的 CGFloat 包装器中出现错误 Returning CGFloat (aka Double) from a function result type CGfloat aka double take the address with &
+(CGFloat*)pointData;
//
+(CGFloat *)pointData{
NSInteger savedInt = [[NSUserDefaults standardUserDefaults] integerForKey:@"savedPointForText"];
CGFloat textPoint = (CGFloat)savedInt;
if(textPoint <1) {
textPoint = 18.0;
}
return textPoint;
}
如果我这样做 return &textPoint;
我会收到一条警告,返回带有局部变量 "textpoint" 的堆栈内存地址
在这种情况下,您可以 return CGFloat
本身,如果您将签名更改为:
+ (CGFloat)pointData {
你需要 CGFloat *
以防你不想 return 变量(可能是因为你实际上需要操作多个变量):
+ (void)changePointData:(CGFloat *)pointData {
NSInteger savedInt = [[NSUserDefaults standardUserDefaults] integerForKey:@"savedPointForText"];
*pointData = (CGFloat)savedInt;
if (*pointData < 1) {
*pointData = 18.0;
}
}
你可以试试
+(CGFloat)pointData{
//Your code
}
希望对您有所帮助。