所以,我使用AFNetworking 2.0(带有Bridging-Header的ObjC框架)在本地服务器上发出一些请求.我已经按照一些教程使用Swift对其进行编码.这是代码:
var success = { (operation:AFHTTPRequestOperation!, response:AnyObject!) -> Void in
println(response.description)
successBlock(result:response.description)
}
var failure = { (operation:AFHTTPRequestOperation!, response:NSError!) -> Void in
println(response.description)
errorBlock(error:response.description)
}
var manager = AFHTTPRequestOperationManager()
manager.responseSerializer = AFJSONResponseSerializer();
manager.GET("http://127.0.0.1:8080/api/manufacturer", parameters: nil, success: success, failure: failure)
Run Code Online (Sandbox Code Playgroud)
它检索json并成功打印.响应是这样的:
(
{
"_id" = 539f0973e3c7f4ab1f6078f5;
name = Manufacturer01;
},
{
"_id" = 539f18c5e3c7f4ab1f6078f6;
name = Manufacturer02;
}
)
Run Code Online (Sandbox Code Playgroud)
但是,我无法解析它...我试图response[0]获得第一个元素,但是当我尝试时它会崩溃模拟器甚至是Xcode6 : (lldb) > po response[0]. 我尝试了一切,我看到的每个例子都解释了如何打印结果,但没有解析每个字段.
response当我尝试调试它时,对象看起来像这样:
value = Some {
Some = (instance_type = Builtin.RawPointer …Run Code Online (Sandbox Code Playgroud) 我们有一些带有一些字段的PDF来收集一些数据,我必须在Android上通过在这些位置添加一些文本以iText编程方式填写它.我一直在考虑实现这一目标的不同方法,但每个方法都没有成功.
注意:我的大多数测试都使用Android版iText(iTextG 5.5.4)和三星Galaxy Note 10.1 2014(Android 4.4).
我从一开始就采用的方法是在给定页面上"绘制"给定坐标上的文本.这对字段的管理有一些问题(我必须知道字符串的长度,并且很难将每个文本放在pdf的精确坐标中).但最重要的是,在某些设备/ OSVersions中,该过程的性能非常慢(在Nexus 5和5.0.2中效果很好,但在Note 10.1上使用5MB Pdf需要几分钟).
pdfReader = new PdfReader(is);
document = new Document();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
pdfCopy = new PdfCopy(document, baos);
document.open();
PdfImportedPage page;
PdfCopy.PageStamp stamp;
for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
page = pdfCopy.getImportedPage(pdfReader, i); // First page = 1
stamp = pdfCopy.createPageStamp(page);
for (int i=0; i<10; i++) {
int posX = i*50;
int posY = i*100;
Phrase phrase = new Phrase("Example text", FontFactory.getFont(FontFactory.HELVETICA, 12, BaseColor.RED)); …Run Code Online (Sandbox Code Playgroud)