- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想检查苹果的应用程序版本,所以我发送如下请求
- (void)connectToCheckVersion{
NSString *url = @"http://itunes.apple.com/lookup?id=466424846";
TTURLRequest *_request = [TTURLRequest requestWithURL:url delegate:self];
_request.httpMethod = @"GET";
_request.cachePolicy = TTURLRequestCachePolicyNone;
_request.shouldHandleCookies = NO;
TTURLJSONResponse* response = [[TTURLJSONResponse alloc] init];
_request.response = response;
TT_RELEASE_SAFELY(response);
[_request send];
}
- (void)requestDidFinishLoad:(TTURLRequest*)request {
TTURLJSONResponse* response = request.response;
NSDictionary* json = response.rootObject;
NSArray *results = [json objectForKey:@"results"];
NSString *version;
for (NSDictionary *rawResult in results) {
version = [rawResult objectForKey:@"version"];
}
NSString *currentVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
if (version != nil && currentVersion != nil && ![version isEqualToString:currentVersion]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"info"
message:@"newer version"
delegate:self
cancelButtonTitle:@"ok"
otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
}
在[_request send]之后;将获得 [CFString release]: message sent to deallocated instance 0x6a83e00。我检查了这个方法中的所有字符串,似乎它们没问题,我仍然可以从远程获得正确的响应。
如果我注释掉此 connectToCheckVersion 方法,则没有任何问题。有什么办法吗?
最佳答案
我认为您应该保留_request 变量并将其保存为成员。因为它会在函数返回后自动释放。
请求成功或失败后都需要释放。
谢谢。
关于iphone - 请求发送获取错误 : [CFString release]: message sent to deallocated instance 0x6a83e00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7834259/
如何编译它? 在此函数的第二行: func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWi
我使用此代码获取 ABPerson 的姓氏 CFStringRef lastNameRef = ABRecordCopyValue((ABRecordRef)personRecordRef, kABP
我想在子函数中为 CFString 分配空间。像这样: void fun(CFStringRef *ref) { ref = CFStringCreateWithCString(NULL, "
我正在为 iPhone 开发应用程序,遇到了一些内存管理问题。在应用程序执行期间,事件字节数不断增加而不受限制。我试图在我的代码中找出问题,但似乎找不到任何会导致事件字节数急剧增加的东西。我在执行过程
不知何故,下面的代码使我的应用程序崩溃: NSString *filename = [NSString stringWithFormat:@"%@%@", dbPath, @"BAR"]; NSStr
我正在开发的一个应用程序在 iPhone 上运行时不断崩溃,但在模拟器上却没有(尽管在没有符号 malloc_error_break 的情况下运行时会显示警告,但该应用程序在 Sim 上仍然运行) 我
我想知道一个字符串是否是单字节编码。 CFShowStr 可以完成这项工作,但它将消息输出到控制台。 CFShowStr 函数输出消息如下所示,IsEightBit 项就是我想要的: Length 7
我有一个CFMutableDictionaryRef ,调试器中的部分内容是: "device-id" = ; model = ; "vendor-id" = ; 现在我可以获得 key model
我正在应用程序上运行仪器。根据仪器,未检测到任何泄漏。 但是,类别CFString (store) 一直在上升。有谁知道 CFString (store) 是什么? 这是否意味着我有泄漏? 最佳答案
我看过问答 here about the self keyword in Swift . 但是,对我来说,这并不能解释在 this question 的以下代码片段中使用 .self let attr
我有以下代码将 String 转换为 CFString 和 backwarts: string path = @"C:\Users\ayi\Desktop\Failed\AngryBirds.ipa"
在 xcode 中使用内存图调试器时,我看到了一些内存泄漏。 Backtrace 没有直接链接到我的任何代码,而是通过跟踪猜测它的保存以假设它与组合和一些 DataTaskPublisher 相关。
首先,这与古代技术有关。我正在处理的程序端口在 Metrowerks Codewarrior 9 中维护,目标是 PPC。 用于 MSL C 的 FSRefParentAndFilename_fope
这个问题在这里已经有了答案: NSString is exactly the same as CFString? (1 个回答) 关闭 9 年前。 我没有理解 iOS 中 CFString 和 NS
我很快就开始使用 Cocoa 编程 Mac OS X 应用程序,所以这确实是一个新问题。为此事道歉。 首先我的代码片段: - (id)tableView:(NSTableView *)tableVie
自 Swift 2 起,可以从 Swift 调用采用 C 回调的 C 函数,而无需中间包装器。 许多 C 事件处理 API 都遵循首先创建上下文的模式: struct Context { CF
我正在尝试掌握在 Mac OS X 中使用 JNA 的窍门。我想访问 Carbon 库,但 Cocoa 没有对应的库,因此 Rococoa 无法帮助我(我认为...) 当我尝试调用需要 CFStrin
我有一个返回 CFString 的库,我试图在 C# 中获取该字符串值。问题是我不知道如何在 C# 中执行此操作。 使外部函数返回 CFString 将不起作用,因为它会引发异常“传递给非托管代码的类
我正在解决我的 iPad 应用程序中的一些内存分配问题,并且花了很长时间观察 CFString 在zombies instrument,直到我切换到 Leaks or allocations inst
我最近更新到 Xcode 6.1 以便能够与 iOS 8.1 一起工作,但现在我的最新项目面临错误。 对于以下行,我收到错误消息“CFString!不符合协议(protocol) Hashable”:
我是一名优秀的程序员,十分优秀!