OGeek|极客世界-中国程序员成长平台

标题: iphone - 被调用的方法没有响应 - Xcode 4/objective-C c [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 23:49
标题: iphone - 被调用的方法没有响应 - Xcode 4/objective-C c

我在调用已导入项目的外部文件中的方法时遇到问题。这些方法由于某种原因没有被调用,即使项目编译正常。并且控制台中没有错误消息/输出。

有人可以帮忙吗?这是完整的问题:

(1) 我下载了 by the author of this tutorial 编写的 Flickr API(4 个文件)并拖放到 Xcode 文件管理器中,指定将 4 个文件复制并链接到我的项目。

* Flickr.h
* Flickr.m
* FlickrPhoto.h
* FlickrPhoto.m

(2)在主视图 Controller 中,我先导入外部文件

#import "Flickr.h"
#import "FlickrPhoto.h"

(3) 然后我在@interface 部分定义一个属性来保存对象:

@property (weak, nonatomic) Flickr *flickr;

(4)在viewDidLoad中,我分配了一个新的对象实例:

self.flickr = [[Flickr alloc] init];

(5) 然后在后面的方法中,我调用了API中的一个方法:

[self.flickr searchFlickrForTerm:textField.text completionBlock:^(...) { ... }];

但是,该方法没有被调用:我在该方法调用之前放置了一个 NSLog 行,它会打印到控制台。我还在方法的第一行放了一个 NSLog:

- (void)searchFlickrForTerm...) term completionBlock: ...

它没有打印任何东西。

为什么这个方法没有被调用???!!!以前从未遇到过这个问题。真的很烦人。



Best Answer-推荐答案


尝试将您的属性更改为强而不是弱,看看是否能解决您的问题:

@property (strong, nonatomic) Flickr *flickr;

如果这样可以解决问题,那么问题是您的属性(property)在您能够使用之前就被释放了。您不会看到任何错误,因为“弱”属性可确保在对象被释放后将指针设置为 nil(并且 Objective-C 在向 nil 发送消息时不会抛出错误)。

关于iphone - 被调用的方法没有响应 - Xcode 4/objective-C c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13464410/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4