2011-08-05 8 views
1

ゆっくりと、しかし確実に、このデリゲートとプロトコルのものをiPhoneに手に入れましたが、私はこのエラーを理解できません。プロトコルの宣言カスタムプロトコルデリゲートiphoneを見つけることができません

私の最初のviewcontrollerで私のプロトコルを宣言しました。

2番目のviewcontrollerでは、ヘッダーファイルにインポートした後にトップビューに追加しようとしましたが見つかりませんでした。以下の私のコードを見てください。

// SendSMSその後、私の2番目のビュー確かに奇妙である

#import <UIKit/UIKit.h> 
#import "SendSMS.h" 

@interface ScheduledSMS : UIViewController <SMSProtocol>{ 



} 


-(IBAction)popBack; 

@end 
+0

エラーとは何ですか? – taskinoor

+0

これはうまくいくはずです...このコードで問題はないようです。 –

+0

同じ問題があったので、ナビゲータでファイルを移動してエラーがなくなりました。 –

答えて

2

#import <UIKit/UIKit.h> 
#import "LoginPage.h" 
#import "MessageOptions.h" 

@protocol SMSProtocol <NSObject> 

-(NSString *)postbackType; 

@end 


@interface SendSMS : UIViewController <UITextViewDelegate, UITextFieldDelegate> { 

    id<SMSProtocol> delegate; 

    MessageOptions *messageOptions; 
    LoginPage *loginPage; 
    IBOutlet UITextField *phonenumber; 
    IBOutlet UITextView *smsBody; 
    IBOutlet UIScrollView *scrollview; 

} 

@property (nonatomic, retain) id<SMSProtocol> delegate; 

-(IBAction)LoadMessageOptions; 

@end 

。 Xcodeを再起動しようとしましたか? Xcodeには、新しいファイルを追加するときに私のためのシンボルのインデックスを作成しないという習慣があります。

また、名前付け規則を調べる必要があります。 SendSMSは本当に良いクラス名ではなく、より多くのアクションメソッド名です。私はSendSMSViewControllerに行くだろう、それはそれがそうであるからだ。

それによれば、SMSProtocolの名前はSendSMSViewControllerDelegateである必要があります。デリゲートプロトコルで

方法は、送信者となりますは、、またはべきをした三つの言葉の一つが含まれている必要があります。少なくともそれが戻ってくると期待するものの名​​前を付ける必要があります。 -(NSString *)postbackType;はおそらく-(NSString *)postbackTypeForSendSMSViewController:(SendSMSViewController*)controller;です。

+0

多分あなたは私を少しでも助けてくれるかもしれません。私は3つのビューを持っています。ユーザーは各ビュー1〜2を3に移動し、3番目のビューで何かを選択すると、データはpopBackToRootViewControllerの最初のビューに戻ることになります。これはナビゲーションコントローラ内のすべてです....私はそれを解決しようとしている最後の数日間を費やしました...私が見つけたチュートリアルは私の状況に似ています。 – MrPink

+0

@MrPink - 3つのビュー設定のデザインは、自分の質問に適しているでしょう。コメントが許すよりも長い返信が必要になるかもしれません。 – PeyloW

関連する問題