小编Jos*_*phH的帖子

SOAP和REST如何使用XML/JSON响应?

这是一个非常常见的问题,一次又一次地问堆栈溢出,我读了很多这方面的答案,但我仍然有点困惑.

我需要从iPhone sdk调用webservices.

这是我的问题:

  1. 我不清楚SOAP或REST返回什么响应.有什么特定的,如果响应是XML那么我们应该使用REST,如果JSON我们应该使用SOAP?

  2. ASIHTTP与SOAP和REST的作用是什么?

  3. 如果我得到XML响应

<oproduct>
    <iid>113133791</iid>
    <icategoryid>270</icategoryid>
    <imerchantid>1547</imerchantid>
    <iadult>0</iadult>
    <sname>The Ashes / 1st Test - England v Australia - Day 1</sname>
    <sawdeeplink>http://www.acbcd.com/pclick.php?p=113133791&amp;a=111402&amp;m=1547&amp;platform=cs</sawdeeplink>
    <sawthumburl>http://images.abcdd.com/thumb/1547/113133791.jpg</sawthumburl>
    <fprice>69.99</fprice>
  </oproduct>
Run Code Online (Sandbox Code Playgroud)

我需要手工解析吗?或者我如何处理XML响应?

我收到了很多关于REST和SOAP的文章,但没有适当的代码来理解它.对于这些问题的任何帮助,我将不胜感激.

xml iphone rest soap asihttprequest

8
推荐指数
2
解决办法
2万
查看次数

如何在OSX 10.6.8中使用xcode 4?

如何在OS X 10.6.8/Snow Leopard上运行Xcode?App Store上的Xcode 4仅与10.7/Lion及更高版本兼容.

任何线索,对goodold 10.6.8用户的任何希望?

xcode osx-snow-leopard

8
推荐指数
1
解决办法
3万
查看次数

使用addUIInterruptionMonitor()清除XCUITest中的SFAuthenticationSession警报

有没有人成功地用于addUIInterruptionMonitor清除所产生的警报start()荷兰国际集团的SFAuthenticationSession运行XCUITest时?

我不能让它在Xcode 9.1/iOS 11.1.1(模拟器或设备)上工作.该标准建议(建立处理,并随后与设备交互出现的警告之前)没有帮助.

测试记录器说app.alerts.firstMatch.buttons["Continue"]).tap()应该做的伎俩,但这也不起作用.来自另一个SO答案的这种技术有时会起作用,但对CI不一致.

所以我想知道"官方"解决方案是否适用于任何人.

ios xcode-ui-testing sfauthenticationsession xcuitest

7
推荐指数
1
解决办法
503
查看次数

C中的可重入库设计

假设我正在构建一个库,以便在C中使用quuxes.

Quuxes需要两个状态变量成功sporked:

static int quux_state;
static char* quux_address;

/* function to spork quuxes found in a file, 
   reads a line from the file each time it's called. */
void spork_quux(FILE*);
Run Code Online (Sandbox Code Playgroud)

如果我将这些数据存储为全局变量,那么只有一个客户端能够一次启动quuxes,否则状态变量将被第二个调用者破坏,并可能发生灾难.

问题是在C中设计可重入库的最佳方法是什么?

我接受了以下案件,但没有令人满意的结论.

在下面的例子中,问题是如何将客户关联到每个州?

/* library handles all state data allocation */
static int* quux_state; 
static char** quux_address;
Run Code Online (Sandbox Code Playgroud)

在下面的例子中,客户端能够搞乱状态,非常不受欢迎

/* let each client store state */
typedef struct { int state; char* address; } QuuxState; 
QuuxState spork_quux(FILE*);
Run Code Online (Sandbox Code Playgroud)

那么,如何正确地做到这一点?

c encapsulation reentrancy

6
推荐指数
1
解决办法
1446
查看次数

我可以在我的iPhone应用程序中使用动态库(共享对象)吗?

众所周知,静态库可以在Iphone应用程序中很好地工作,并且您的应用程序可以很容易地被IOS App Store批准

不幸的是,我现在使用的两个静态库有一些C函数和变量.

所以我将它们编译成*.dylib(动态库),并将它们复制到XCode中的"Bundle Resources".

dylib_handle = dlopen(dylib_path_in_resource_bundle, RTLD_LAZY);
func = dlsym(dylib_handle, "func");

// invoke func();
Run Code Online (Sandbox Code Playgroud)

这在模拟器和Ipad(当然,不同的动态库)中运行良好.

我注意到有人说Iphone应用程序不支持任何第三方动态库,我的应用程序将被拒绝.(看这里)

但我仔细阅读了"App Store评论指南",我发现没有任何项目符合我的问题.

我现在很困惑!

iphone应用程序是否支持动态库?IOS AppStore是否允许这样做?

谁能给我官方回复.

iphone ios

6
推荐指数
1
解决办法
5913
查看次数

在iOS上默认是char签名还是未签名?

char在iOS上默认是签名还是未签名?

(我认为这将是一个很好的回答问题,但奇怪的是谷歌没有任何用处!)

c arm llvm ios

6
推荐指数
1
解决办法
1189
查看次数

“application/*+json”是 HTTP 中有效的 Accept 标头吗

java spring框架的http客户端似乎默认发送此Accept标头:

Accept: text/plain, application/json, application/*+json, */*
Run Code Online (Sandbox Code Playgroud)

我对“application/*+json”部分很好奇。我相信这样做的目的是匹配任何开始application/和结束的哑剧类型+json- 例如。application/vnd.api+json

然而,看看RFC 7231 第 5.3.2 节,它说:

media-range    = ( "*/*"
                      / ( type "/" "*" )
                      / ( type "/" subtype )
                      ) *( OWS ";" OWS parameter )
Run Code Online (Sandbox Code Playgroud)

这似乎专门允许使用 * 而不是子类型,而不是作为子类型的一部分 - 表明“application/*+json”应该只匹配实际上作为名称中的 * 的 mime 类型。

一般而言,mime 类型的“+”语法在https://www.rfc-editor.org/rfc/rfc6839中定义- 但是其中似乎没有任何内容允许将其应用于 HTTP RFC 定义的通配符。

是否有其他一些 RFC 扩大了定义,或者 spring 发送了错误的 Accept: 标头?

http mime-types

6
推荐指数
1
解决办法
6354
查看次数

日语的UILocalizedIndexedCollat​​ion为联系人/音乐应用程序提供不同的排序

UILocalizedIndexedCollat​​ion似乎在日本iOS设备上返回的结果与内置的Contacts/Music应用程序中的结果不同.

请注意,这不是关于日语在索引中根本不显示的常见问题.我正在获取日语假名部分,但与联系人等相比,索引的顺序不正确.

这是屏幕 - 在左侧,音乐应用程序中显示的所需结果首先是假名,右侧是我得到的结果:

itunes截图 我的应用的截图

UILocalizedIndexedCollat​​ion似乎没有任何明显的方法来配置它,所以我不确定调整排序的预期方法是什么,并且很多Google搜索没有透露任何答案(尽管我也不是唯一的答案)有这个问题的人).任何指向正确方向的人都会非常感激.

iphone cocoa-touch uitableview ios uilocalizedcollation

5
推荐指数
1
解决办法
1223
查看次数

在UICollectionView和UITableView中最佳地预加载/预取图像

我有一个我想象的非常常见的情况,我希望很容易解决 - 一个带有UICollectionView的应用程序,每个单元格中的图像通过http/https从Web服务器上的API获取.

我正在尝试在UICollectionView中实现iOS 10的预取,以便提前请求可能需要的图像.

在我看来,最佳预取应满足各种要求:

  1. 实际上立即需要的图像的获取应始终优先于推测预取,即使图像已经在要获取的队列中.
  2. 当iOS告诉我们不再需要预取特定图像时,应该从预取队列中删除它(并且只有它).
  3. 如果请求图像,则应始终传送图像,除非取消/全部/请求图像(如果在多个单元格或多个视图控制器中使用一个图像,则容易出错).
  4. 如果调用didEndDisplaying,则应该中止优先获取(但是,如果请求了预取但未取消,则图像应该以较低的优先级留在队列中).
  5. 与图像加载有关的各种常见要求 - 例如.不要使用预取请求充斥底层系统,这些请求最终会使带宽和服务器插槽远离立即需要的映像.

我查看了各种现有的库,如SDWebImageKingfisher,并且很惊讶,似乎没有任何方法可以轻松地使用任何一个库来满足上述要求.

例如,SDWebImage不符合第二个要求 - 您只能取消所有预取,或者必须为每个图像创建一个预取器(这意味着各种其他SDWebImage功能,例如限制预取图像的并发请求数) - 即要求5 - 不再有效.)

这真的是一个难题吗?我错过了一些明显的解决方案吗 我是否过度思考要求?

prefetch uitableview uiimageview ios uicollectionview

5
推荐指数
1
解决办法
1271
查看次数

在后台线程上安全保存Core Data托管对象上下文的正确方法?

苹果"并发核心数据"的文件规定使用的核心数据与后台线程讨论时以下.

保存在后台线程中容易出错

异步队列和线程不会阻止应用程序退出.(具体来说,所有基于NSThread的线程都是"分离的" - 请参阅pthread的文档以获取完整的详细信息 - 并且只有在所有未分离的线程都退出之后才会运行.)

特别是:

如果需要保存在后台线程上,则必须编写其他代码,以便主线程阻止应用程序退出,直到完成所有保存操作.

在IOS应用程序中实现此目的的推荐方法是什么?

multithreading core-data nsmanagedobjectcontext ios

4
推荐指数
1
解决办法
1164
查看次数