gpt4 book ai didi

iphone - 使用 componentsSeparatedByString 时仅从 "UIDeviceRGBColorSpace 1 1 1 1"获取值,发生 sigabrt?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:20:26 24 4
gpt4 key购买 nike

我的字符串值是这个//字符串应该类似于 "UIDeviceRGBColorSpace 0.5 0 0.25 1"

我正在解析字符串以单独获取颜色值

 -(UIColor*)colorFromNSString:(NSString *)string {


NSMutableArray *values = [string componentsSeparatedByString:@""];
CGFloat red = [[values objectAtIndex:1] floatValue];
CGFloat green = [[values objectAtIndex:2] floatValue];
CGFloat blue = [[values objectAtIndex:3] floatValue];
CGFloat alpha = [[values objectAtIndex:4] floatValue];
UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
// NSLog(@"the color in string is %@",red);
return color;
}

我在这一行收到 sigabrt 的错误信息

NSMutableArray *values = [string componentsSeparatedByString:@""];

崩溃日志是

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM componentsSeparatedByString:]: unrecognized selector sent to instance 0x4b4a3e0'
*** Call stack at first throw:
(
0 CoreFoundation 0x00dcf5a9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x00f23313 objc_exception_throw + 44
2 CoreFoundation 0x00dd10bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3 CoreFoundation 0x00d40966 ___forwarding___ + 966
4 CoreFoundation 0x00d40522 _CF_forwarding_prep_0 + 50
5 PhotoApp 0x00002800 -[PhotoAppViewController colorFromNSString:] + 67
6 PhotoApp 0x000027b5 -[PhotoAppViewController touchesBegan:withEvent:] + 950
7 UIKit 0x0038d0f4 forwardMethod2 + 92
8 UIKit 0x002e3d41 -[UIWindow _sendTouchesForEvent:] + 395
9 UIKit 0x002c4c37 -[UIApplication sendEvent:] + 447
10 UIKit 0x002c9f2e _UIApplicationHandleEvent + 7576
11 GraphicsServices 0x01727992 PurpleEventCallback + 1550
12 CoreFoundation 0x00db0944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
13 CoreFoundation 0x00d10cf7 __CFRunLoopDoSource1 + 215

欢迎任何建议

最佳答案

 CGColorRef coloref = [selectst CGColor];
const CGFloat* components = CGColorGetComponents(coloref);

CGFloat red = components[0];
CGFloat green = components[1];
CGFloat blue = components[2];
CGFloat alpha =1;
UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:alpha];

希望对你有帮助

关于iphone - 使用 componentsSeparatedByString 时仅从 "UIDeviceRGBColorSpace 1 1 1 1"获取值,发生 sigabrt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8135167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com