如何在objective-c中正确引用对象属性

如何在objective-c中正确引用对象属性,objective-c,Objective C,在我的Xcode 4迁移之后,我正在做一些清理工作,并注意到一些无法更正的警告。在下面的示例中,我试图构建一个动态url来获取图像 NSString* imgUrl = [NSString stringWithFormat:@"http://images.localhost.com/Image/%@", [selectedHat img]]; (selectedHat是具有NSString类型的@synth属性“img”的对象) Xcode中的警告是关于如何从selectedHat获取img属

在我的Xcode 4迁移之后,我正在做一些清理工作,并注意到一些无法更正的警告。在下面的示例中,我试图构建一个动态url来获取图像

NSString* imgUrl = [NSString stringWithFormat:@"http://images.localhost.com/Image/%@", [selectedHat img]];
(selectedHat是具有NSString类型的@synth属性“img”的对象)

Xcode中的警告是关于如何从selectedHat获取img属性的

“找不到方法img(返回类型默认为'id')”

显然,我不是在寻找一种方法(除非objective-c认为我的属性上的getter是一种方法)。这种方法工作得很好,但我要清除警告,并理解我应该如何继续在这里请求img属性

先谢谢你

编辑

Hat界面看起来像下面这样

#import <Foundation/Foundation.h>

@interface Hat : NSObject {
  NSString* img;
}

@property (nonatomic, retain) NSString* img;

@end
#导入
@接口帽:NSObject{
NSString*img;
}
@属性(非原子,保留)NSString*img;
@结束

你需要做两件事。不确定您的hat类被调用了什么,因此让我们在本例中将其称为
hat

  • 确保在Hat.h中声明了
    img
    属性
  • 确保在调用此属性的任何文件中导入“Hat.h”

  • @synthesis指令生成/actual/methods。object.property调用一个方法,object.property=foo(如果你问我的话,会产生误导和不清楚)。另外,请发布相关类的部分接口,以便我们可以查看您的声明。只需添加您提到的导入即可修复此警告-谢谢!