2011-07-26 21 views
2

私はこの警告がなぜポップアップするのか非常に困惑しています。私はそれが完全に動作する他のコントローラで同じ手順を使用します。警告:キャストのないポインタから整数を作ります

ConditionTableViewController.m:57:警告: 'initWithCondition:' の引数1を通過ConditionDetailViewController.hに次のコード

- (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]; 
} 

でキャスト

ことなくポインタの整数を行います

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

ここでコンソールou "CON" のTPUT(managedObjectSelectedメソッドが呼び出されます)

ConditionTableViewController.h

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

ConditionTableViewController.m

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

ConditionDetailViewController.h要求されるように

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 = "[email protected]"; 
    username = "Hans K..."; 
    visibility = "0xe6682b0 <x-coredata://368AFBD3-2C66-4ED7-977D-AB8EED8BB577/Visibility/p7>"; 
}) 

が含まれてい

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

ConditionDetailViewController.m

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

あなたのコードも '#import" ConditionDetailViewController.h "'ですか? 'blablaがメッセージに反応しないかもしれない"のような警告も出ますか?initWithCondition: "'? – DarkDust

+0

インポートされています。それが私が得る唯一の警告です。面白いのは、シミュレータ上でその警告があっても動作するということです。しかし、iphoneでない – Chris

+0

あなたはきれいにしてビルドを実行しようとしましたか? –

答えて

0

initWithCondition:整数をとるFoundationフレームワークにおけるNSConditionLockクラスのメソッドです。私はXcodeが何とか2つのクラスからのシンボル名initWithCondition:を混乱させていると思います。間違ったバージョンを使用しています。すべてのファイルに正しいヘッダーをインポートするなど、コードが正しい場合は、おそらく障害のあるインデックスまたはプリコンパイル済みヘッダーです。 [オーガナイザ]ウィンドウの[プロジェクト]セクションからプロジェクトの派生データを削除し、プロジェクトを再構築してみてください。

関連する問題