我有一个非常奇怪的问题.
我有一个JSON Web服务.
当我在这个网站上查看http://www.freeformatter.com/json-formatter.html#ad-output
一切都好.
但是当我用这段代码加载我的JSON时:
$data = file_get_contents('http://www.mywebservice');
if(!empty($data))
{
$obj = json_decode($data);
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - JSON_ERROR_NONE';
break;
case JSON_ERROR_DEPTH:
echo ' - JSON_ERROR_DEPTH';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - JSON_ERROR_STATE_MISMATCH';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - JSON_ERROR_CTRL_CHAR';
break;
case JSON_ERROR_SYNTAX:
echo "\r\n\r\n - SYNTAX ERROR \r\n\r\n";
break;
case JSON_ERROR_UTF8:
echo ' - JSON_ERROR_UTF8';
break;
default:
echo ' - Unknown erro';
break;
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:SYNTAX ERROR
什么都没有完全帮助.
这是一场噩梦.
我看到用PHP 5.5我可以使用这个函数:http://php.net/manual/en/function.json-last-error-msg.php
(但我还没有成功安装PHP …
是的,这很奇怪.
它没什么特别的.在Interface Builder中,我选择它作为Image,然后图像以xcode中的nib显示.但是当我在我的设备上运行它时,图像不会出现.如果我选择"黄色"作为我的UIImageView的背景,则会出现黄色背景而不是图像.
如果我选择另一张图片作为UIImageView的"图像",它的工作原理.都是PNG格式.
每次我在设备上运行应用程序时,我都会在构建之前"干净".
这是不起作用的图片.
任何的想法 ?
太奇怪......
我用这个函数来知道我的图片是否包含某种颜色的像素:
- (BOOL)imageHasOrange:(UIImage *)img
{
CGImageRef imageRef = img.CGImage;
NSData *data = (__bridge NSData *) CGDataProviderCopyData(CGImageGetDataProvider(imageRef));
unsigned char *pixels = (unsigned char *)[data bytes];
BOOL hasColor = NO;
for(int i = 0; i < [data length]; i += 4)
{
if(pixels[i] == 255 && pixels[i+1] == 132 && pixels[i+2] == 0)
{
hasColor = YES;
break;
}
}
CFRelease(imageRef);
return hasColor;
}
Run Code Online (Sandbox Code Playgroud)
当我使用Instruments跟踪内存泄漏时,它表示它与CGDataProviderCopyData函数有关.
但我使用ARC所以我不需要发布我的"数据"数组吧?