2011-06-27 10 views
0

enter image description here Xcode4を使用してビジュアルオブジェクトエディタでインスタンス変数を接続するときに問題が発生していますか?インスタンス変数をAppDelegateに接続するときに問題が発生する

Wheicki App DelegateをmapViewとactivityIndi​​catorに接続できましたが、何らかの理由でlocationTitleFieldが見つかりませんでした。デリゲートをApp Delegateに戻すのにも問題があります。

私は間違っていますか?

#import <UIKit/UIKit.h> 
#import <CoreLocation/CoreLocation.h> 
#import <MapKit/MapKit.h> 

@interface WhereamiAppDelegate : NSObject  <UIApplicationDelegate,CLLocationManagerDelegate> { 
    UIWindow *window; 
    CLLocationManager *locationManager; 
    IBOutlet MKMapView *mapView; 
    IBOutlet UIActivityIndicatorView *activityIndicator; 
    IBOutlet UITextView *locationTitleField; 
} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 

@end 

WhereamiのApp Delegate.m

#import "WhereamiAppDelegate.h" 

@implementation WhereamiAppDelegate 


@synthesize window=_window; 

- (BOOL)application:(UIApplication *)application  didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 
    //-- Create location manager object -- 
    locationManager = [[CLLocationManager alloc] init]; 

    //-- Make this instance of WhereamiAppDelegate the delegate 
    //-- It will sends its messages to our Whereami delegate. 
    [locationManager setDelegate:self]; 

    //-- We want all results from the location manager-- 
    [locationManager setDistanceFilter:kCLDistanceFilterNone]; 

    //-- And we want it to be as accurate as possible-- 
    //-- Regardless of how much time/power it takes -- 
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; 

    //-- Tell our location manager to start looking for its location 
    //-- immediately 
    [locationManager startUpdatingLocation]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

- (void)locationManager:(CLLocationManager *)manager 
    didFailWithError:(NSError *)error 
{ 
NSLog(@"Could not find location: %@", error); 
} 

- (void)locationManager:(CLLocationManager *)manager 
didUpdateToLocation:(CLLocation *)newLocation 
     fromLocation:(CLLocation *)oldLocation 
{ 
    NSLog(@"%@", newLocation); 
} 
+0

.xibのクラスが.hファイルのクラスと同じであることを確認してください。 .xibのクラスが 'UITextView'の子孫でない場合、それをアタッチすることはできません。 – Percy

+0

ちょうどそれをチェックしました。クラスはUITextViewです。 – pdenlinger

+0

アプリデリゲートアウトレットの画像を投稿できますか? –

答えて

0

それらのプロパティの代わりに、アイバーズ作ってみましょう...

@interface WhereamiAppDelegate : NSObject <UIApplicationDelegate,CLLocationManagerDelegate> 

@property (nonatomic, retain) IBOutlet CLLocationManager *locationManager; 
@property (nonatomic, retain) IBOutlet MKMapView *mapView; 
@property (nonatomic, retain) IBOutlet UIActivityIndicatorView *activityIndicator; 
@property (nonatomic, retain) IBOutlet UITextView *locationTitleField; 
@property (nonatomic, retain) IBOutlet UIWindow *window; 

@end 
:ここ

はWhereamiのApp Delegate.hのコードです

とそれらを合成することを忘れないでください

@synthesize locationManager = _locationManager; 
@synthesize mapView = _mapView; 
@synthesize activityIndicator = _activityIndicator; 
@synthesize locationTitleField = _locationTitleField; 

nibファイルに表示されるオブジェクトにはiVarsを使用しません。私は常にプロパティを使用する傾向があり、コンセントの接続に問題は一度もありませんでした。

+0

それはうまくいきました、ありがとうございます。 – pdenlinger

関連する問題