我正在研究可能涉及长时间运行任务的PHP脚本.过程如下,用户(在我的情况下使用iOS应用程序)将数据提交给我的Web服务.部分过程需要我的PHP脚本联系第三方以验证一些提交的数据.客户端(在iPad上)无需等待第三方的响应.
伪代码:
Pull values from _POST[]
some simple validation
if _POST[] values are good
return success to client
further process submitted data with thrd party
update database
else
return error code and message
Run Code Online (Sandbox Code Playgroud)
怎么可能从我的服务器返回一个简单的JSON对象只是作为收据,并让我的PHP脚本进一步处理提交的数据.我知道我使用的第三方响应缓慢(做了几次跳跃,并且已知需要几分钟才能得到响应).
我试图复制一个传递给如下方法的字符串:
-(void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict {
NSLog( @"elementName, %@: %i", elementName, [elementName retainCount] ); // rc = 2
if ( currenttag )
[currenttag release];
NSLog( @"currenttag: %i", [currenttag retainCount] ); // rc = 0
//currenttag = [[NSString alloc] initWithString:elementName]; // track current element
[self setCurrenttag:elementName];
NSLog( @"currenttag: %i", [currenttag retainCount] ); // rc = 3
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
setCurrenttag是一个综合存取器(@property (copy)).我的理解是,这将创建一个全新的对象,而不仅仅是一个引用elementName.上面的行为好像它保持对引用elementName和调用retain.注释掉的代码显示了相同的行为.
这些方法正在实现NSXMLParserDelegate协议,但我确实需要跟踪某些元素名称(但不是全部).
NSString在iphone上有没有关于对象和内存管理的东西. …
我正在开发的应用程序需要针对一个特定操作进行单个位置更新,该操作在API级别9中可用,但我需要将API级别8作为目标,但LocationManager.requestSingleUpdate()不可用.
我如何申请单一更新?
我注意到了对XCode(4.6)的最新更新,我收到了关于几行的警告JSONKit.m.特别是,设置对象类的行:
dictionary->isa = _JKDictionaryClass;
Run Code Online (Sandbox Code Playgroud)
这些标记为已弃用,并注明首选方法是使用object_setClass():
object_setClass(dictionary, _JKDictionaryClass);
Run Code Online (Sandbox Code Playgroud)
当我问为什么最好只是让警告静音时,回答是:
即使新的Xcode版本抱怨,一切都运行正常,我不想:
1)测试每个项目我使用JSONKit来检查在object_setClass()后是否一切正常
2)松散的cpu周期,这就是我使用JSONKit的原因以NSJSONSerialization为例.我当前的应用程序解析权重为600K-1M的json文件
我们在这里讨论了多少性能影响?
注意:
我更感兴趣
dictionary->isa = _JKDictionaryClass VS object_setClass()
比JSONKitVS NSJSONSerialization.
我有一个for-in循环运行未知的次数,当它完成运行时我希望所有名称都附加如下:name1, name2,name3依此类推.
如何在循环中追加字符串?
我在考虑这样的事情:
if (donePressed)
{
NSString *allFriends;
selectedFriends = friendPicker.selection;
for (NSDictionary * friend in selectedFriends)
{
NSString * friendName = [friend objectForKey:@"name"];
// some built-in method that appends friendName to allFriends with a ", " between them
}
NSLog(@"%@",selectedFriends);
}
Run Code Online (Sandbox Code Playgroud) objective-c ×3
android ×1
asynchronous ×1
ios ×1
iphone ×1
jsonkit ×1
location ×1
nsstring ×1
php ×1