• 締切済み

サンプルコードのエラーについて

インターネットのサンプルを見ながら作成したコードが、エラーになります。なにか間違いがあれば指摘して頂きたく、以下にコードを記載しました。どなたか教えていただけますと幸いです。宜しくお願い致します。 #import "CounterViewController.h" @implementation CounterViewController -(IBAction)calc{ NSDate*targetDate = datePicker.date; NSDate*today = [NSDate date]; NSCalendar*gregorian =[[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar]; NSUInteger unitFlags; unitFlags = NSDayCalendarUnit; NSDateComponents*components = [gregorian components:today toDate:targetDate options:0]; NSInteger days; days = [components day]; resultLabel.text =[NSString stringWithFormat:@"%d",days; [gregorian release];

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> エラーになります。 最低限「どこで」「どのような」エラーになるのかは示してください。

関連するQ&A

  • iphoneアプリサンプルコードでのエラー

    アプリ内課金プログラミング完全ガイドという本にあるサンプルソースで苦戦しています。 下記は課金完了後、有料コンテンツが見れるようにするソースの一部です。 ******************************************************* // コンテンツの有効期限を確認してプロパティに反映させる - (void)setEnableContent { NSNumber *content1ExperiesDate = [_userDefaults objectForKey:kProductManagerContent1ExpiresDate]; NSNumber *content2ExperiesDate = [_userDefaults objectForKey:kProductManagerContent2ExpiresDate]; NSNumber *content3ExperiesDate = [_userDefaults objectForKey:kProductManagerContent3ExpiresDate]; // 今現在と有効期限を比較する NSNumber *current = [NSString stringWithFormat:@"%f", [[NSDate date] timeIntervalSince1970]]; if (content1ExperiesDate && NSOrderedDescending != [current compare:content1ExperiesDate]) { _isEnableContent1 = YES; } if (content2ExperiesDate && NSOrderedDescending != [current compare:content2ExperiesDate]) { _isEnableContent2 = YES; } if (content3ExperiesDate && NSOrderedDescending != [current compare:content3ExperiesDate]) { _isEnableContent3 = YES; } } ******************************************************* 今現在と有効期限を比較し、有効期限内であればYESを渡すというものです。 問題点 なぜか動きません。 X-CODEを見ると // 今現在と有効期限を比較する NSNumber *current = [NSString stringWithFormat:@"%f", [[NSDate date] timeIntervalSince1970]]; の部分で incompatible pointer types initializing NSNumber with an expression of type NSString というNoticeが出ます。 互換性のないポインタータイプということのようですが、どう訂正すればいいのかが分かりません。 ご指導いただけますよう御願い致します。

  • iPhone DatePickerでの日付の取得について

    iPhoneのアプリ制作のため勉強しているのですが DatePickerにて下記のように現在時刻を設定した場合 NSDate *today = [[[NSDate alloc] init] autorelease]; [datePicker setDate:today]; DatePickerを5分間隔に設定していると 現在時刻が13時41分だと、DatePickerには13時40分と 表示されるのですが、[datePicker date]で値を取得すると 13時41分を取得します。 DatePickerの値を変更すると、表示されている時刻を 取得できるのですが、初回のみ上記のような状態です。 最初から表示されている値を取得するには どのような方法があるのでしょうか? 良い方法をご存知の方、回答よろしくお願いいたします。

  • Objective-C[NSMutableStringクラスについて]

    Objective-C[NSMutableStringクラスについて] はじめまして。 NSMutableStringクラスで宣言したインスタンスをどこからでも呼び出したいと思い 以下のコードを作りました。 NSMutableString extern *Mixbox; -(IBAction)TestTime:(id)sender{ NSString *Time=@"ただいまの時間\n "; NSDate *date=[NSDate date];//時間の設定 NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; [formatter setDateFormat:@"yyyy:MM:dd::hh:mm:ss"]; NSString *str = [formatter stringFromDate:date]; [Mixbox appendString:str]; [Mixbox appendString:Time]; self.flowView.text=(@"%@",Mixbox); } ビルドするとエラーになります。 どこからでもインスタンスを呼び出したい場合どのようにすれば良いのでしょうか? 回答をお願いします。

  • Objective-Cでのエラー

    よろしくお願いします。「Xcode5ではじめるObjective-Cプログラミング(大津真著)」という本を購入し、Objective-Cの勉強をはじめました。Objective-Cが初めてのプログラミング初心者です。 本に記載されたコードを入力しているのですが、下記でエラーが出て困っています。 何度も見なおしたのですが本との違いを見つけることができませんでした。 どこがおかしいのかお分かりの方がおられましたらどうか教えて下さい。 ●エラー more '%' conversions than data arguments が、下記の2箇所で出ます。(いずれも生年月日の前の@ に矢印がでています。) >NSLog(@"%@ 生年月日:%@, 身長:%.1fcm"), >NSLog(@"%@ 生年月日:%@, 身長:%.1fcm"), 実行すると Thread 1:EXC_BAD_ACCESS(code=EXC_1386_GPFLT) とでます。 ---------- // main.m #import <Foundation/Foundation.h> #import "Person.h" int main(int argc, const char * argv[]) { @autoreleasepool { Person *personA = [[Person alloc]init]; [personA setName:@"吉田一郎"]; NSDate *dateA = [NSDate dateWithString:@"1979-11-12 00:00:00 +0900"]; [personA setBirthday:dateA]; [personA setHeight:180.5]; NSLog(@"%@ 生年月日:%@, 身長:%.1fcm"), [personA name], [personA birthday], [personA height]; Person *personB = [[Person alloc]init]; [personB setName:@"山田太郎"]; NSDate *dateB = [NSDate dateWithString:@"1981-03-01 00:00:00 +0900"]; [personB setBirthday:dateB]; [personB setHeight:172.3]; NSLog(@"%@ 生年月日:%@, 身長:%.1fcm"), [personB name], [personB birthday], [personB height]; } return 0; } ---------- // Person.h #import <Foundation/Foundation.h> @interface Person : NSObject -(void)setName:(NSString *)name; -(NSString *)name; -(void)setBirthday:(NSDate *)birthday; -(NSDate *)birthday; -(double)height; -(void)setHeight:(double)newValue; @end ---------- // Person.m #import "Person.h" @implementation Person { NSString *_name; NSDate *_birthday; double _height; } -(void)setName:(NSString *)aName { _name = aName; } -(NSString *)name { return _name; } -(void)setBirthday:(NSDate *)aBirthday { _birthday = aBirthday; } -(NSDate *)birthday { return _birthday; } -(void)setHeight:(double)aHeight { _height = aHeight; } -(double)height { return _height; } @end

  • Objective-Cのメソッド、または文字列操作の実装について

    今、iPhoneアプリを開発しているのですが 実機で実行するとSIGABRTを受け取ってアプリがクラッシュしてしまいます。 クラッシュログを解析すると、以下のようなコードでクラッシュしていることがわかりました。 ----- +(NSString*)methodSample { NSDate* aDate = [ NSDate date ]; NSString* aStr = [ aDate description ]; // クラッシュログで出てくるのは次のreturn文のところ return [ aStr substringWithRange:NSMakeRange(5,5) ]; } ----- このコードに何らかの不正な処理がありそうな気がするんですが、 このコードの問題点ってどこなのでしょうか。 どなたかわかる方がいらっしゃいましたら教えてください。

  • iPhone アプリ開発で困っています。

    iPhone のアプリ開発をXcodeで行っていますが、viewに作ったTextFieldに入力された文字列を、同じview上の別のTextFieldに表示するということが出来ません。 下のリストで、ビルドをするとエラーにはならないのですが、シミュレーターで文字列を入力すると、別のTextFieldに文字列が表示されることなくプログラムが停止してアイコン画面に戻ってしまいます。(コメントにしている部分は、きちんと動きます。) 基本的なことが分かっていないのだと思いますが、いろいろな参考書を調べたり、ネットで検索しても分からないので、よろしくお願いします。 (myOutlet1 と myOutlet2 を、それぞれのTextFieldに接続しています。また、myAction1 をボタンにタッチアップインサイドで接続しています。) @implementation rensyuuViewController - (IBAction)myAction1:(id)sender { NSString *str = [myOutlet1 stringValue]; [myOutlet2 setText:[NSString stringWithFormat:@"%@",str]]; /* int a = [[myOutlet1 text] intValue]; a = a * 3; [myOutlet2 setText:[NSString stringWithFormat:@"%d",a]]; */ } @end

  • @interface FirstViewController :UIV

    @interface FirstViewController :UIViewController { NSMutableString *Mixbox; } -(IBAction)testtime:(id)sender; m. - (void)viewDidLoad { [super viewDidLoad]; MixBox = [NSMutableString string]; [MixBox retain]; } (IBAction)testtime:(id)sender{ NSString *Time=@"1回目の時間\n "; NSDate *Date=[NSDate date];//時間の設定 NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; [formatter setDateFormat:@"yyyy:MM:dd::hh:mm:ss"]; NSString *Str = [formatter stringFromDate:Date]; [Mixbox appendString:Time]; [Mixbox appendString:str]; self.flowView.text=Mixbox; } //Mixboxに代入した文字を他のアクションで、文字をつなげるようにするにはどうしたらいいですか? <例> ボタンを押す→トリガーされtesttimeが実行させる 表示のイメージ 1回目の時間:000000 2回目、違うボタンを押す→違うアクションが同じようにトリガーされ実行する 表示のイメージ 1回目の時間:00000000//これは前回押したもの 2回目の時間:00000000//今おしたもの このようなイメージでしたいのですが、何度やっても、代入で代入されますから、前回押して代入された文字列は消えてしまいます。 どうしたら前回のが消えずに、他のアクションで代入されたやつをそのあとに代入するにはどうしたらいいでしょうか? 本当に困っているので助けて下さい。お願い致します。

  • Objective-Cのエラーコードの意味

    タイトルの通りです。 エラー部分は最下部にあります。 ------------------------------------------------------------------------------------------------- // // ViewController.m // Kadai // // Created by on 2014/08/10. // Copyright (c) 2014年 saikoro. All rights reserved. // #import "ViewController.h" @interface ViewController () <UIAlertViewDelegate> @property (weak, nonatomic) IBOutlet UITextField *tfMyouji; @property (weak, nonatomic) IBOutlet UITextField *tfName; @property (weak, nonatomic) IBOutlet UILabel *Aisatsu; @end @implementation ViewController // 画面タッチ時 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ // キーボード非表示 [self.tfMyouji resignFirstResponder]; [self.tfName resignFirstResponder]; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } // [挨拶する]ボタン押下 - (IBAction)introduce:(id)sender { UIAlertView *av = [[UIAlertView alloc]initWithTitle:@"確認" message:@"挨拶しますか?" delegate:self cancelButtonTitle:@"キャンセル" otherButtonTitles:@"はい", nil]; // 表示 [av show]; } // AlertViewボタン押下 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"再確認" message:@"本当に挨拶しますか?" delegate:nil cancelButtonTitle:@"やっぱりやめときます" otherButtonTitles:@"早く!", nil]; [av show]; } // AlertViewボタンさらに押下 + (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ // 入力された名前の保持 NSString *str = self.tfMyouji.text; ←ここでエラーが出ます。なぜか「tfMyouji」が                    予測で出てきません } @end ------------------------------------------------------------------------------------------------- どなたかエラーの理由をご教授頂けないでしょうか。 以上、何卒宜しくお願い致します。

  • 【iOS】pickerViewを隠すには?

    pickerViewを、画面のどこかをタップすることで隠すには どのようにすればよろしいでしょうか。 現在のコードです。 TextFieldの代わりにピッカーを出すという実装です。 ヘッダー @property(nonatomic,weak)IBOutlet UITextField *textField; @property(nonatomic,strong)UIPickerView *pickerView; @property(nonatomic,strong)NSArray *items; メイン - (void)viewDidLoad { self.items = @[@"A",@"B",@"C",@"D"]; self.pickerView = [[UIPickerView alloc]init]; self.pickerView.dataSource = self; self.pickerView.delegate = self; self.pickerView.showsSelectionIndicator = YES; self.textField.inputView = self.pickerView; [super viewDidLoad]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ return 1; } - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ return [self.items count]; } - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ return [self.items objectAtIndex:row]; } - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ self.textField.text = [self.items objectAtIndex:row]; } - (IBAction)pressHide:(id)sender{ [self.textField resignFirstResponder]; }

  • iPhoneアプリプログラミングButton

    現在iPhoneアプリのプログラミングを勉強を兼ねてカレンダーを作っています。 ボタンを押した時、月を移動するプログラムを組むところで処理がうまくいかず困っています。 まず、年月日曜日を取得するとき、int型でyear,monthを宣言し,現在の日付データを入れています。 その値をボタンを押した時に増減させたいのですが、以下の//エラーが出る箇所と記載した場所でviewcontroller not found とエラーが出てしまいます。 ボタンの中のコードから、viewDidLoad内の変数の値を変えるにはどうしたらいいのでしょうか? 「//年・月・日・曜日の取得」と「//月を移動するButton」のコードはviewDidLoad内にコードを書いています。 //年・月・日・曜日の取得 NSDate *now = [NSDate date]; NSCalendar *calendar = [NSCalendar currentCalendar]; NSUInteger flags; NSDateComponents *comps; flags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit; comps = [calendar components:flags fromDate:now]; NSInteger year = comps.year; NSInteger month = comps.month; NSInteger day = comps.day; comps = [calendar components:NSWeekdayCalendarUnit fromDate:now]; NSInteger weekday = comps.weekday;//1日が日曜、7日が土曜 NSInteger firstDayWeek = [self getFirstWeek:year month:month];//月の初日の曜日 //月を移動するButton UIButton *preButton = [UIButton buttonWithType:UIButtonTypeCustom]; [preButton setTitle:@"前月" forState:UIControlStateNormal]; preButton.titleLabel.font = [UIFont boldSystemFontOfSize:10]; preButton.tintColor = [UIColor whiteColor]; preButton.backgroundColor = [UIColor blueColor]; preButton.frame = CGRectMake(10, 30, 30, 20); [preButton addTarget:self action:@selector(preview:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:preButton]; //前月を表示するボタンメソッドの内容 - (void) preview:(id *)sender{ if (_year==1) { //エラーが出る箇所 self.month = 12  //エラーが出る箇所 _month--; //エラーが出る箇所 }else self.month--; //エラーが出る箇所 }

専門家に質問してみよう