Вопрос

В частности, предупреждение: «Несовместимые объективные типы» struct NSString * ', ожидаемое «структуру Uiimage *» при прохождении аргумента 4 «ObjectWithtype: Name: Code: Image» из отчетливого объекта-C типа «. Следует строку, которая выглядит так:

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

Итак, я понимаю, что создал класс Object Чтобы взять тип 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 ImageNamed:]. Будет работать только на изображениях, которые являются частью вашего проекта.

[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