【问题标题】:How can I use @property in class method? ios7如何在类方法中使用@property? IOS 7
【发布时间】:2014-02-07 11:05:43
【问题描述】:

我得到了发送 web 请求的 MyWebClass 类方法并得到响应,我需要获取 http 标头,所以我使用

@property NSHTTPURLResponse *response;

在我需要使用的 MyWebClass 类方法中

    NSDictionary *headerDictionary = [response allHeaderFields];

获取标题,但我不能,我该如何解决?我真的不想把那个类方法改成实例方法

该属性是在 MyWebClass 上定义的。

【问题讨论】:

    标签: class methods properties ios7 instance


    【解决方案1】:

    如果您的 UIViewController 上定义了该属性,您可以使用:

    NSDictionary *headerDictionary = [self.response allHeaderFields];
    

    因为它是在你的 MyWebClass 中定义的,你可以做这样的事情(假设它是一个单例):

    MyWebClass *myWebClass = [MyWebClass sharedInstance];
    NSDictionary *headerDictionary = [myWebClass.response allHeaderFields];
    

    因为“response”在其公共 .h 接口文件中定义了一个属性,所以您可以从应用程序中的任何位置访问它。当然,response 必须是 non-nil 才能让您能够从中获取所有 header 字段。

    【讨论】:

    • 该属性是在 MyWebClass 上定义的
    • MyWebClass 是单例还是属性或 ivar(实例变量)?
    • MyWebClass 现在不是单例,但以后会是,它是发出请求并得到响应的类,它有 1 个带字符串的类方法: NSDictionary *headerDictionary = [response allHeaderFields];和 1 个属性:@property NSHTTPURLResponse *response;
    猜你喜欢
    • 2018-05-05
    • 2011-03-19
    • 1970-01-01
    • 2019-01-14
    • 2020-09-11
    相关资源
    最近更新 更多