Цель C - NSDictionary, выдающий ошибку для CTParagraphStyleRef? - PullRequest
0 голосов
/ 02 июля 2011
CTParagraphStyleRef paraStyle = CTParagraphStyleCreate(alignSettings, 1);
NSDictionary *dictionary = [NSDictionary dictionaryWithObject:paraStyle forKey:kCTParagraphStyleAttributeName];

Я получаю предупреждение во второй строке кода «Передача аргумента 2 из несовместимого типа указателя» Как я могу избавиться от этого предупреждения?

Ответы [ 2 ]

1 голос
/ 02 июля 2011

paraStyle не является объектом, поэтому вы не можете сохранить его как единое целое. попробуйте setValue:forKey: для NSMuteableDictionary и valueForKey:, чтобы получить его.

Или оберните ваше значение в NSValue объект.

0 голосов
/ 03 июля 2011

Вы получаете предупреждение, потому что kCTParagraphStyleAttributeName не является объектом и не может использоваться в качестве ключа в NSMutableDictionary. Ключи в NSMutableDictionary должны быть объектами Objective C, которые соответствуют протоколу NSCopying. CTParagraphStyleRef также нельзя сохранить в словаре, поскольку он также не является объектом Obj-C.

Вы можете попробовать использовать CFMutableDictionary, ключи и значения которого могут быть любого типа C.

...