Упорядоченное сравнение между указателем и целым числом - PullRequest
0 голосов
/ 25 сентября 2011
- (void) dealloc
{
[_id_list release];
[super dealloc];
}

- (void)update {
CFArrayRef ar = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);
CFDictionaryRef window;
CFIndex i;
CGWindowID wid;

[_id_list release];
_id_list = [[NSMutableArray alloc] init];

for (i=0; i < window =" CFArrayGetValueAtIndex(ar," name =" (NSString*)CFDictionaryGetValue(window," owner_name =" (NSString*)CFDictionaryGetValue(window,");}

для последней строки Xcode выдает ошибку:

  • 'Семантическая проблема: упорядоченное сравнение между указателем и целым числом (' CFIndex '(также известный как long)) и' CFDictionaryRef '(также известный как const struct __CFDictionary *')) '

И специально для этого предупреждает:

  • i <окно </p>

  • «Выражение не присваивается»

В основном я пытаюсь получить WindowID рабочего стола (только обои). Почему это происходит?

Ответы [ 2 ]

2 голосов
/ 25 сентября 2011

Игнорируя тот факт, что в цикле for происходит что-то безумное, компилятор жалуется, потому что:

CFDictionaryRef window;
CFIndex i;

И эта часть:

i < window

Нет смысла сравнивать индекс (длинный) со словарем.

2 голосов
/ 25 сентября 2011

Это:

for (i=0; i < window =" CFArrayGetValueAtIndex(ar," name =" (NSString*)CFDictionaryGetValue(window," owner_name =" (NSString*)CFDictionaryGetValue(window,");}

Не имеет никакого смысла. для петель обычно:

for ( assignment-expr; comparison-expr ; increment-expr )
{
    body-of-for-loop
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...