Предупреждение: делает целое число из указателя без приведения - PullRequest
2 голосов
/ 26 июля 2011

Я довольно озадачен, почему появляется это предупреждение. Я использую ту же процедуру на других контроллерах, где она отлично работает.

ConditionTableViewController.m: 57: предупреждение: передача аргумента 1 из 'initWithCondition:' делает целое число из указателя без приведения

Со следующим кодом

- (void)managedObjectSelected:(NSManagedObject *)managedObject
{
// Load View
Condition *con = (Condition *)managedObject;
ConditionDetailViewController *detail = [[ConditionDetailViewController alloc] initWithCondition:con];

detail.title = [[managedObject valueForKey:@"cave"] valueForKey:@"title"];

self.navigationItem.backBarButtonItem =
[[[UIBarButtonItem alloc] initWithTitle:@"Back"
                                  style: UIBarButtonItemStyleBordered
                                 target:nil
                                 action:nil] autorelease];

[self.navigationController pushViewController:detail animated:YES];
[detail release];
}

In ConditionDetailViewController.h

- (id)initWithCondition:(Condition *)aCondition;

Здесь вывод консоли "con"

2011-07-26 11:03:08.485 CaveConditions[10631:f203] <NSManagedObject: 0xe6628e0> (entity: Condition; id: 0xe6608b0 <x-coredata://368AFBD3-2C66-4ED7-977D-AB8EED8BB577/Condition/p149> ; data: {
    cave = "0x67486e0 <x-coredata://368AFBD3-2C66-4ED7-977D-AB8EED8BB577/Cave/p7>";
    ccId = 678;
    comment = "";
    diveDate = 1286830059;
    flow = "0xe668270 <x-coredata://368AFBD3-2C66-4ED7-977D-AB8EED8BB577/Flow/p1>";
    imageURL = "orbe_doof.jpg";
    insertDate = nil;
    ip = "xxx.xxx.xxx.xxx";
    line = "0xe668280 <x-coredata://368AFBD3-2C66-4ED7-977D-AB8EED8BB577/Line/p1>";
    percolation = "0xe668290 <x-coredata://368AFBD3-2C66-4ED7-977D-AB8EED8BB577/Percolation/p5>";
    sediment = "0xe6682a0 <x-coredata://368AFBD3-2C66-4ED7-977D-AB8EED8BB577/Sediment/p2>";
    temperature = 13;
    userMail = "xxx@xxx.ch";
    username = "Hans K...";
    visibility = "0xe6682b0 <x-coredata://368AFBD3-2C66-4ED7-977D-AB8EED8BB577/Visibility/p7>";
})

Включено по запросу

ConditionTableViewController.h

#import "CellTableViewController.h"
#import "Cave.h"

ConditionTableViewController.m (где вызывается метод managedObjectSelected)

#import "ConditionTableViewController.h"
#import "ConditionDetailViewController.h"

ConditionDetailViewController.h

#import <UIKit/UIKit.h>
#import "Condition.h"
#import <QuartzCore/QuartzCore.h>

ConditionDetailViewController.m

#import "ConditionDetailViewController.h"
#import "DataProcessor.h"
#import "PhotoViewController.h"

1 Ответ

0 голосов
/ 28 октября 2011

initWithCondition: - это метод класса NSConditionLock в среде Foundation, который принимает целое число.Я думаю, что Xcode каким-то образом перепутал имена символов initWithCondition: из двух классов и использует неправильную версию.Если ваш код правильный, включая импорт правильных заголовков в каждом файле, это, вероятно, неверный индекс или предварительно скомпилированный заголовок.Попробуйте удалить производные данные для проекта из раздела «Проекты» окна «Органайзер» и перестроить проект.

...