0

私はこれを理解していません。私が見つけたのは、「これを修正する方法がわかりません」という多くのフォーラム投稿だけです。単純なビューから始めました。次に、ASIHTTPRequest を追加して、php スクリプトへの要求呼び出しを使用してデータベースと通信しました。コンパイルする前に、Reachability.h を追加する必要がありました。実際に実行してみると、シミュレーターでは何も表示されず、メインの XCode では SIGABRT エラーが表示されるだけでした。

出力は次のとおりです。

GNU gdb 6.3.50-20050815 (Apple version gdb-1518) (Sat Feb 12 02:52:12 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".sharedlibrary apply-load-rules all
Attaching to process 4930.
2011-08-22 21:47:15.996 ViewInfo[4930:207] -[ViewInfoViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x4c23b80
2011-08-22 21:47:15.999 ViewInfo[4930:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ViewInfoViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x4c23b80'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x010d05a9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x01224313 objc_exception_throw + 44
    2   CoreFoundation                      0x010d20bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
    3   CoreFoundation                      0x01041966 ___forwarding___ + 966
    4   CoreFoundation                      0x01041522 _CF_forwarding_prep_0 + 50
    5   UIKit                               0x007792b7 -[UISectionRowData refreshWithSection:tableView:tableViewRowData:] + 1834
    6   UIKit                               0x00776d88 -[UITableViewRowData numberOfRows] + 108
    7   UIKit                               0x0062a677 -[UITableView noteNumberOfRowsChanged] + 132
    8   UIKit                               0x00637708 -[UITableView reloadData] + 773
    9   UIKit                               0x00634844 -[UITableView layoutSubviews] + 42
    10  QuartzCore                          0x01ed6a5a -[CALayer layoutSublayers] + 181
    11  QuartzCore                          0x01ed8ddc CALayerLayoutIfNeeded + 220
    12  QuartzCore                          0x01e7e0b4 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 310
    13  QuartzCore                          0x01e7f294 _ZN2CA11Transaction6commitEv + 292
    14  UIKit                               0x005be9c9 -[UIApplication _reportAppLaunchFinished] + 39
    15  UIKit                               0x005bee83 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 690
    16  UIKit                               0x005c9617 -[UIApplication handleEvent:withNewEvent:] + 1533
    17  UIKit                               0x005c1abf -[UIApplication sendEvent:] + 71
    18  UIKit                               0x005c6f2e _UIApplicationHandleEvent + 7576
    19  GraphicsServices                    0x0188e992 PurpleEventCallback + 1550
    20  CoreFoundation                      0x010b1944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
    21  CoreFoundation                      0x01011cf7 __CFRunLoopDoSource1 + 215
    22  CoreFoundation                      0x0100ef83 __CFRunLoopRun + 979
    23  CoreFoundation                      0x0100e840 CFRunLoopRunSpecific + 208
    24  CoreFoundation                      0x0100e761 CFRunLoopRunInMode + 97
    25  UIKit                               0x005be7d2 -[UIApplication _run] + 623
    26  UIKit                               0x005cac93 UIApplicationMain + 1160
    27  ViewInfo                            0x000020d9 main + 121
    28  ViewInfo                            0x00002055 start + 53
)
terminate called after throwing an instance of 'NSException'
Current language:  auto; currently objective-c
(gdb) 
4

2 に答える 2

1

正しい出力をコピーしましたか? 貼り付けられた出力は、UITableViewController のデリゲートとしてオブジェクトを追加したことを示していますが、必須のメソッドを実装していません。

-[ViewInfoViewController tableView:numberOfRowsInSection:]:

それと、あなたを助けるコードの欠如を除けば、私が考えることができる唯一のことは、 ASIHTTP に必要なフレームワークを追加しなかったか、間違った到達可能性をインストールしたことです (ASI には、別の内部に独自の到達可能性が付属しています)フォルダー、Apple の到達可能性とは異なります)。

于 2011-08-23T02:15:58.820 に答える
0

ViewInfoViewControllerほぼ確実に ではないUITableViewController(そして に準拠していない<UITableViewDataSource>)。だと思いUIViewControllerます。いずれにせよ、ニャンが指摘するように、必要に応じてViewInfoViewController実装しないか、テーブルビューを間違ったオブジェクトに配線し、それを配線するつもりはありませんでした。tableView:numberOfRowsInSection:datasourceViewInfoViewController

于 2011-08-23T02:20:59.160 に答える