• 締切済み

iPhone SDKに関して

iPhone SDKに関して 初めてこちらを利用させてもらいます。 よろしくお願いします。 画面上部でドラッグをしている間座標を取得して、 画面下部のTableViewに軌跡の座標を出力したいと考えているのですが、うまくいきません。 (ソースの一部です) [hファイル] IBOutlet UITableView *table; [mファイル] //座標取得 -(void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event { CGPoint locationPoint = [[touches anyObject] locationInView:self]; CGPoint previousLocationPoint = [[touches anyObject] previousLocationInView:self]; 最初はNSMutableArrayにlocationPointを格納して、 テーブルに反映できたらと思っていたのですが、型が一致しないのかエラーがでます。 ドラッグされたときに、リアルタイムで画面下部にあるテーブルに追加して表示したいのですが、こういうことは可能でしょうか? よろしくお願いいたします。

みんなの回答

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.2

> [points addObject:("@%c",str)]; C言語の関数と、Objective-Cのメソッドを、ちゃんと区別できていますか? Objective-Cは、C言語をオブジェクト指向に拡張したもので、C言語のコードを、直接書き込むことができるという長所があり、同時にそれは、複雑でわかりにくいという欠点にもなっています。 「points」というのが、NSMutableArrayのインスタンスで、タッチ位置の座標をテキスト(NSString)に変換したものが、「str」だとしたら、「[points addObject: str]」になるはずです。 まず、C言語とObjective-Cを、はっきりと区別できるようになってください。 つぎに、メモリ管理を行えるようになってください。JAVAのように、最近の新しい言語は、Garbage Collectionを備えているものが多く、プログラマがメモリの解放をする必要がないのですが、iPhone/iPadのプログラムを開発するには、厳密なメモリ管理を、プログラマが行わなければなりません。256MB(iPhone 4は512MB)しかないメモリを、有効に利用するために、必要だからです。 タッチの軌跡を、テーブルに座標として表示し続けるプログラムとなると、あっというまにメモリを使い果たしてしまいそうですね。 NSMutable Arrayの、総量を決めておいて、古い項目は順次消去していくようなプログラムは、必須でしょう。 iPhone SDKにおける、メモリ管理の方法については、どの入門書を読んでも、かならず1章を割いているはずです。それほど重要な事項です。理解しにくいと読み飛ばすことなく、きっちりマスターしてください。

color23
質問者

お礼

回答ありがとうございます。 すみません、アカウントIDを忘れてしまい、返事をするのが遅くなってしまいました。 まだまだ勉強不足のようです、出直してきます。 軌跡の座標を配列に格納することはできました。 ありがとうございました。

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.1

> 最初はNSMutableArrayにlocationPointを格納して、 > テーブルに反映できたらと思っていたのですが、型が一致しないのかエラーがでます。 NSArray(NSMutableArray)に格納できるのは、NSObjectのサブクラスだけです。変数、構造体などは格納できません。 NSValueというラッパクラスを使って、いったんCGPointをオブジェクトに変換するか、NSStringFromCGPointを使って、NSStringに変換するなど、ひと工夫が必要でしょう。 ほかにも、UITableViewが、挙動に追随してくれるのかどうかなど、心配な点はありますが、とりあえずこの点だけ指摘させていただきます。

color23
質問者

お礼

ありがとうございます。 NSStringFromCGPointというものがあるんですね、こちらを利用して試してみたいと思います。 リアルタイムで厳しければ、一旦配列に格納しといて、 ボタンをタッチしたときに表示できるようにしてみたいと思います。

color23
質問者

補足

NSString *point = NSStringFromCGPoint(locationPoint);// CGPointをString型に変換 このようにしてString型にできました。 初歩的な質問で申し訳ないですが、 現在[mファイル]には、 -(void)add:(NSString *)str{ [points addObject:("@%c",str)]; } -(void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event { CGPoint locationPoint = [[touches anyObject] locationInView:self]; CGPoint previousLocationPoint = [[touches anyObject] previousLocationInView:self]; NSString *point = NSStringFromCGPoint(locationPoint);// CGPointをString型に変換 add(point); NSLog(@"ポイント : %c\n", points); : } となっています。 NSMutableArray *points = [[NSMutableArray alloc] init]; という軌跡の座標を格納する配列を宣言したいのですが、どこに書けばいいのでしょうか? add();とtouchesMoved();内に書くと、呼び出されるたび初期化されてしまうと思うので、 関数の外に書いてみたのですが「Intializer element is not constant」とエラーが出てしまいます。 add(point);の部分には「Implicit declration of function'add'」というエラーも出ます。 お時間ありましたら、よろしくお願い致します。

関連するQ&A

  • TableViewでタップした時にキーボードを隠す

    ObjectiveCを用いてiPhnoneアプリ開発の勉強をしています。 TableViewControllerのセルにUITextFieldを設置し、そのTextFieldをタッチして表示されたキーボードを キーボードの外がタップされた時に引っ込める(隠す)処理をしたいのですが、うまくできませんでしたので助言をいただきたいです。 Tap Gesture Recognizerを用いる方法や touchesBeganメソッドを用いてタップを検知し[self.view endEditing:YES];でキーボードを閉じる という方法を試したのですが、これらたUIViewControllerでないとできないようで、 キーボードの外をタップしても、セルが選択されてしまい、キーボードは閉じませんでした。 この問題に関して、以下のサイトが参考になると思ったのですが、 http://onno.jp/dev/2012/02/uitableview-touchesbegan-uiviewcontroller.html >IB で TableView のクラスを TouchableTableView に変更 という部分が、どこを指しているのか分からず、どうしたら良いのか分かりません。 どこのTableViewのクラスを、TouchableTableViewに変更したら良いのでしょうか? 試しにキーボードを引っ込ませる処理を組み込みたいTableViewControllerのスーパークラスを UITableViewController から TouchabeTableViewに変更してみましたが、うまくいきませんでした・・ タップした時にキーボードが引っ込ませたいTableViewControllerと、 新たに作成したTouchableTableViewはどのようにして関連付けるのでしょうか? 以下にTouchableTableViewのソースコードを書いておきます。 (Xcode6になり、Fileの新規作成画面が変わり、クラスの書き方がいつもと違うようになっているのが気になりますが・・・。) ----------- ■TouchableTableView.h #import <UIKit/UIKit.h> @interface UITableView (TouchableTableView) @end ■TouchableTableView.m #import "TouchableTableView.h" @implemention UITableView (TouchableTableView) - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [self.nextResponder touchesBegan:touches withEvent:event]; [super touchesBegan:touches withEvent:event]; } @end --------- 回答お願いします

  • UIButtonを始点とするフリックの取得について

    iPhoneアプリの開発を行っています。 その中で、あるView(下記ソースではtestView)の中でフリックが行われた場合に 特定の動作をさせるようにしたいと考え、下記のソース引用の通り実装しました。 ViewControllerの中にUIView(testView)を配置し、その中に、UIButton(testButton) を配置し、フリックが行われた際の開始位置と終了位置を取得しています。 ですが、下記実装ですと、フリックの開始位置が、testButton上である場合、 ViewController.m 上の、touchesBegan、touchesEnded を通りません。 カスタムのボタンを作って試してみたところ、ButtonのtouchesBegan、 touchesEndedには入ってきており、testButtonが非活性の場合には、 ViewController.m 上の、touchesBegan、touchesEnded を通って いるようですので、ボタン側のイベントが反応し、ViewController.m に入ってこず終了しているものと思っています。 これを、testView上のどの位置でフリック開始された場合でも同様の 処理をさせたいのですが、何か良い解決方法をご存知でしたら、 ぜひ、お知恵をお借りしたいです。 プログラム初心者のため、つたない質問で申し訳ありません。 よろしくお願いいたします。 ■ViewController.h の実装 ----------------------------------------- @interface ViewController : UIViewController { // フリック開始位置、終了位置 CGPoint _tBegan, _tEnded; } // ビュー @property (weak, nonatomic) IBOutlet UIView *testView; // @property (weak, nonatomic) IBOutlet UIButton *testButton; ■ViewController.m の実装 ----------------------------------------- // タッチ開始 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch * touchBegan = [touches anyObject]; _tBegan = [ touchBegan locationInView: self.testView ]; } // タッチ終了 -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch * touchEnded = [touches anyObject]; _tEnded = [ touchEnded locationInView: self.testView ]; NSInteger distanceHorizontal = ABS( _tEnded.x - _tBegan.x ); NSInteger distanceVertical = ABS( _tEnded.y - _tBegan.y ); NSLog(@"%d", distanceHorizontal); NSLog(@"%d", distanceVertical); NSLog(@"X:%f->%f", _tBegan.x,_tEnded.x); NSLog(@"Y:%f->%f", _tBegan.y,_tEnded.y); if ( distanceHorizontal > distanceVertical ) { if ( _tEnded.x > _tBegan.x ) { NSLog(@"RIGHT Flick"); // スタート位置がmoveView内の場合、右フリックに応じた処理を記述予定 } else { NSLog(@"LEFT Flick"); // スタート位置がmoveView内の場合、左フリックに応じた処理を記述予定 } } else { if ( _tEnded.y > _tBegan.y ) { NSLog(@"DOWN Flick"); // 下向きフリックに応じた処理を記述予定 } else { NSLog(@"UP Flick"); // 上向きフリックに応じた処理を記述予定 } } }

  • iphoneでTableViewに動的追加できない

    UITableViewでWebから取得した情報を表示したく、非同期にCellを追加する テストアプリを書いていたのですが、わからない点がいくつかあります。 以下は非同期追加のテストコードで、実行するとリストに"foo"が一件だけ表示され 2秒おきにリストに”bar”が追加されます。 @interface AddRowTableViewController : UITableViewController { NSMutableArray *dataSouce; } -(void)onTimer:(NSTimer*)timer; @end @implementation AddRowTableViewController - (void)viewDidLoad { // 初期値は空欄 dataSouce = [[NSMutableArray alloc] init]; // (1) // 初期値としてfooを持つ //dataSouce = [[NSMutableArray alloc] initWithObjects:@"foo", nil]; // (1)' // 2秒ごとにbarを追加するためにインターバルタイマをセット [NSTimer scheduledTimerWithTimeInterval:2.0f target:self selector:@selector(onTimer:) userInfo:nil repeats:YES]; } // 2秒ごとに挿入のために呼ばれる -(void)onTimer:(NSTimer*)timer { // barを追加 [dataSouce addObject:@"bar"]; [self.tableView beginUpdates]; NSIndexPath* path = [NSIndexPath indexPathForRow:0 inSection:0]; // (2) [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:path] withRowAnimation:UITableViewRowAnimationTop]; [self.tableView endUpdates]; // (3) [self.tableView reloadData]; // (4) } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [dataSouce count]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *id = @"default-cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:id]; if(!cell){ cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:id]; [cell autorelease]; } cell.textLabel.text = [dataSouce objectAtIndex:indexPath.row]; return cell; } #if 0 // (5) - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { if([dataSouce count] > 0) return 1; else return 0; } - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { // テストなので、聞かれたらTitleと答えておく return @"title"; } #endif @end このプログラムは一応動作するのですが、少し変えると期待通りに動作しません。 疑問1 コード中の(1)をコメントアウト及び(1)’をコメントインした状態で、初期値として "foo"が画面に表示された状態からスタートするようになりますが、このとき (2)で先頭に挿入するように記載していますが、実際には2行目に挿入されます。 foo bar bar 例えば4秒後にはこんな感じに並びます。なぜでしょうか? 疑問2 (4)のコードを書くと挿入時にアニメーションしません。(4)のコードを書かないとbarではなく fooが追加されたように見えます。スクロールしてフレームアウト/インなどの動作が あるとセルがリロードされ正しくbarになります。 挿入アニメーションを有効にしつつ最新データを参照させるにはどうしたらよいのでしょうか? 疑問3 (5)を#if 1とすることでセクションが表示されるようになりますが、このときに 初期値として何かあれば追加できますが、初期状態が空欄の場合に追加できず (3)のコードがSIGABRTを発行してしまいます((1)だとNG、(1)’だと通る)。 空欄のセクション付きリストにCellを挿入するにはどうしたらよいでしょうか? 経験が浅く、非常識なコードになっているのではないかと思いますが、 どうにも自力ではこれ以上進めなくなってしまいました。 上記1~3の一つでもいいので、なにかヒントをいただけないでしょうか? 未検証のカンによるアドバイスも歓迎です、こちらで検証させて頂きます。 どうかよろしくお願い致します。

  • Swiftについて教えてください

    Swiftで分からないことがあり、投稿させていただきました。UIImageViewにタッチの機能をつけてlet stamp = Timage()で呼び出しているサンプルを参考にタッチをピンチジェスチャーに変更してlet stamp = Pimage()で呼び出すと Missing argument for parameter 'coder' in callというエラーがでます。調べて呼び出し文で引数が足りない。ということが分かったのですが、どのようにして呼び出したらいいのかわかりません。Swift初心者なので、具体的に教えていただければありがたいです。よろしくお願いします。 タッチ//////////////////////////////////////////////////////////////////////////////////////////////////////////// import UIKit class Timage: UIImageView { override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) { self.superview?.bringSubviewToFront(self) } override func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent) { let touch = touches.first as! UITouch let dx = touch.locationInView(self.superview).x - touch.previousLocationInView(self.superview).x let dy = touch.locationInView(self.superview).y - touch.previousLocationInView(self.superview).y self.center = CGPointMake(self.center.x + dx, self.center.y + dy) } } ピンチジェスチャー/////////////////////////////////////////////////////////////////////////////////////////////////////////////// import UIKit class Pimage: UIImageView { var gestureEnabled = true private var beforePoint = CGPointMake(0.0, 0.0) private var currentScale:CGFloat = 1.0 required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) self.userInteractionEnabled = true let pinchGesture = UIPinchGestureRecognizer(target: self, action: "Pinch") self.addGestureRecognizer(pinchGesture) } }

    • ベストアンサー
    • Swift
  • 一つの画面でスクロールとフリックをする方法について

    今、画像を左右に数枚スクロールさせれて、かつ、その画像を上や下にフリックすると各々、上や下に他の画像がでてきて、さらに拡大縮小もできるようなコードを書いているのですが、 ViewContorller(以下、VC)にスクロールと上下のフリックのメソッドを書き、 もう一つのPageView(UIScrollVIewクラスを親にもつ。以下、PV)に画像が拡大縮小するようなメソッドをdelegateを使って書いています。 その際に、VCのほうに書いているスクロールのメソッドがフリックのメソッドを邪魔してうまくフリックのtouchメソッドを呼んでくれません。スクロールメソッドを消すと、フリックが使えますが、そうでないときは、スクロールと拡大縮小だけができます。 調べたところ、        scrollView.canCancelContentTouches=NO;        scrollView.delaysContentTouches=NO; を使うと良いというのでやってみたのですが、うまくいきません。 もし、お分かりになる方がいらっしゃいましたら、大変お手数かけますが、ご教授ください。 以下が VC.mです。 xcodeは5.0バージョンです。 - (void)viewDidLoad { [super viewDidLoad]; UIScrollView *scrollView = [[UIScrollView alloc] init]; //ここに先ほどのを入れてみました。 scrollView.canCancelContentTouches=NO; scrollView.delaysContentTouches=NO; scrollView.frame = self.view.bounds; scrollView.contentSize = CGSizeMake(self.view.frame.size.width * kPageNum, self.view.frame.size.height); scrollView.pagingEnabled = YES; [self.view addSubview:scrollView]; for (int i=0;i<kPageNum;i++) { PageView *page = [[PageView alloc] initWithFrame:self.view.bounds]; //setImageメソッドはPVのほうで定義しています。 [page setImage:[NSString stringWithFormat:@"%d.png", i]]; page.frame = CGRectMake( self.view.frame.size.width * i, 0, self.view.frame.size.width, self.view.frame.size.height ); [scrollView addSubview:page]; } } - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; _timestampBegan = event.timestamp; _pointBegan = [touch locationInView:self.view]; } - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { static const NSTimeInterval kFlickJudgeTimeInterval = 0.3; static const NSInteger kFlickMinimumDistance = 10; UITouch *touchEnded = [touches anyObject]; CGPoint pointEnded = [touchEnded locationInView:self.view]; NSInteger distanceHorizontal = ABS(pointEnded.x - _pointBegan.x); NSInteger distanceVertical = ABS(pointEnded.y - _pointBegan.y); if (kFlickMinimumDistance > distanceHorizontal && kFlickMinimumDistance > distanceVertical) { return; } NSTimeInterval timeBeganToEnded = event.timestamp - _timestampBegan; if (kFlickJudgeTimeInterval > timeBeganToEnded) { if (distanceHorizontal > distanceVertical) { if(pointEnded.x>_pointBegan.x) {} //上下のフリックだけなのでここには書いていません。 else{}} else{ if (pointEnded.y > _pointBegan.y) { NSLog(@"あ");//NSLogで反応の仕方をみてます。 } else { NSLog(@"い"); } 初心者のため色々と質問の内容から間違いがあるかもしれませんが、宜しくお願い申し上げます。

  • Objective-c  画面遷移について

    毎回、初歩的な質問内容で申し訳ありませんが、困っているので教えて下さい。 「FirstViewController」はUIScrollViewでスクロールさせている画面で、タッチイベントを取得する為に UIScrollView のサブクラスを作っています。 そこでタッチすると、「SecondViewController」へ固定の画面で遷移するようにしたいのですが、「SecondViewController」の画面もそのままスクロール画面で表示されてしまいます。。。 「SecondViewController」をスクロールさせず、位置x=0 y=0で表示させるにはどうしたら良いのでしょうか? 詳しく教えて頂けると、大変助かります。。 ↓FirstViewController.h↓ @interface FirstViewController : UIViewController{   MyScrollview *controller; IBOutlet UIScrollView *scrollView; } ↓FirstViewController.m↓ - (void)viewDidLoad { controller = [[ MyScrollview alloc] initWithFrame:CGRectMake(0, 0, 1100, 1100)]; self.view = controller; [super viewDidLoad]; [super loadView]; scrollView.contentSize = controller.frame.size; [scrollView addSubview:controller]; } ↓MyScrollview .h↓ @interface MyScrollview : UIView<UIScrollViewDelegate>{ } @end ↓MyScrollview .m↓ -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event{ SecondViewController *svc; svc = [[SecondViewController alloc] init]; [self addSubview:[svc view]]; }

  • objective-c 画面遷移について

    プログラミングに関して素人です。 UIViewControllerからPushコードを使って別のUIViewに画面遷移したいのですが 遷移先にTableViewを2つ並べております。 画面遷移する際のコードはどのように記述したらいいのでしょうか? 詳しいかたお力お貸しいただければと思います。 ViewController.m - (IBAction)NewsPage:(UIButton *)sender { //こちらの記述方法が不明 } TViewController.h // XibファイルとUIViewの紐づけ。 @property (weak, nonatomic) IBOutlet UITableView *leftTableView; @property (weak, nonatomic) IBOutlet UITableView *rightTableView; - (IBAction)TopButton:(UIButton *)sender; 根本的になにか違えばご指摘お願いします。

  • Objective-c 画面遷移について

    やはり、画面遷移ではまっていますので、助けて下さい。 navigationControllerで作成しています。 (内容は以前に質問させて頂いているものとほぼ同じですが、) 「FirstViewController」はUIScrollViewでスクロールさせている画面で、タッチイベントを取得する為に UIScrollView のサブクラスを作っています。 そこでタッチすると、「SecondViewController」へ遷移するようにしたいのですが、下記のように単純にpushViewControllerを使ってサブクラスへ書くと、「Property 'navigationContoroller' not found on object of type 'MyScrollview'」というエラーが表示されてしまいます。 このクラスへ書いたらいけないというのは、なんとなく分かりますが、かと言って何からどう手をつければ良いのか分かりません…… 問題なく画面遷移させるにはどうしたらよいのでしょうか。 詳しく教えて頂けると、大変助かります。。 ↓FirstViewController.h↓ @interface FirstViewController : UIViewController{   MyScrollview *controller; IBOutlet UIScrollView *scrollView; } ↓FirstViewController.m↓ - (void)viewDidLoad { controller = [[ MyScrollview alloc] initWithFrame:CGRectMake(0, 0, 1100, 1100)]; self.view = controller; [super viewDidLoad]; [super loadView]; scrollView.contentSize = controller.frame.size; [scrollView addSubview:controller]; } ↓MyScrollview .h↓ @interface MyScrollview : UIView<UIScrollViewDelegate>{ } @end ↓MyScrollview .m↓ -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event{ ~省略~ SecondViewController *mvc = [[[SecondViewController alloc] initWithNibName:nil bundle:nil] autorelease]; [self.navigationController pushViewController:mvc animated:YES]; }

  • 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 ------------------------------------------------------------------------------------------------- どなたかエラーの理由をご教授頂けないでしょうか。 以上、何卒宜しくお願い致します。

  • UITableViewの編集モードが実装できない

    Objective-Cを用いてiPhoneアプリのプログラミングを勉強しています。 http://konton.ninpou.jp/program/cocoa/userinterface/UITableView/UITableView2.html UITableViewで編集モードを実装したいと思い、こちらのサイトを参考にコードを記述したのですがsignal:SIGABRTが出てしまい、実行できません。 一応build succeedとは出るのですが、iOSシミュレータの最初の画面が表示される前にエラーが出てしまうという状況です。 以下にコードを晒します。 アドバイスお願いしますm(_ _)m ■ヘッダファイル #import <UIKit/UIKit.h> @interface ViewController : UITableViewController { NSMutableArray *stringArray; UITableView *myTableView; } @property (nonatomic, retain) IBOutlet UITableView *myTableView; @property (nonatomic, retain) NSMutableArray *stringArray; @end ■実装ファイル http://www.dotup.org/uploda/www.dotup.org5336157.txt コードが古いようで、ARCエラーが出ましたが、以下のサイトを参考に対策をしたところ、コード上のエラー表示は無くなりました。 http://d.hatena.ne.jp/mTsuruta/20111107/1320615543

専門家に質問してみよう