具体的警告是:“不兼容的Objective-C类型'struct nsString *',预期'struct'struct uiimage *'传递'objectWithType的参数4:name:name:code:code:image'来自不同的客观-C类型'。它遵循看起来像这样的行:

[Object objectWithType:@"Type" name:@"Name" code:@"0001" image:@"image.png"],

所以,我知道我创建了班级 Object 要使用type uiimage,但我正在为其提供NSString类型。这是一个问题:我不知道如何以与其文件名不同表示图像。

(如果这是一个基本问题,则表示歉意。我是新手,并在此处发布之前尝试寻找解决方案。您可以提供任何帮助。)

有帮助吗?

解决方案

您实际上需要一个实例 UIImage, ,您了解的。因此,类方法 imageNamed: 通常用于此:

[Object objectWithType:@"Type" name:@"Name" code:@"0001" image:[UIImage imageNamed:@"image.png"]];

另一个选项(因为您在此处使用所有字符串)可能是重写您的方法,以便将其命名代替图像,然后在方法实现中创建图像。因此,您可以定义方法:

- (void)objectWithType:(NSString*)type name:(NSString*)name code:(NSString*)code imageName:(NSString*)imageName
{
  UIImage* theImage = [UIImage imageNamed:imageName];
  // do whatever
}

其他提示

使用[UIIMAGE成像:]。仅适用于您项目一部分的图像。

[Object objectWithType:@"Type" name:@"Name" code:@"0001" image:[UIImage imageNamed:@"image.png"]]

如果您的项目捆绑包中包含'image.png',则可以执行此操作以通过UIImage而不是NSString:

[Object objectWithType:@"Type" name:@"Name" code:@"0001" image:[UIImage imageNamed:@"image.png"]];
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top