-1

XCode 4.5、ストーリーボード、Core Data、および iOS 6 を使用する iPad アプリがあります。行を選択し、レコードの内容を変更します (これは成功です) が、行は変更されません。UITableView を更新しようとしましたが、cellForRowAtIndexPathが呼び出されません。SO と Google を検索しても無駄でした。何が悪いのかわかりません。誰かがこれを修正する方法を教えてもらえますか? (次回のために私が間違っていることの説明付き?)

関連するコードは次のとおりです。

- (IBAction)btnModify:(UIButton *)sender {

    //NSLog(@"btnModify clicked");

    NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread];

    //  find client by primary telephone number
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"aClientPrimaryPhone ==[c] %@", cvPrimaryPhone.text];
    ClientInfo *clientDataFound = [ClientInfo MR_findFirstWithPredicate:predicate inContext:localContext];

    if(clientDataFound)  {
        clientDataFound.aClientName = cvCustName.text;  //  now start moving the data
        clientDataFound.aClientAddr1 = cvAddress1.text;
        clientDataFound.aClientAddr2 = cvAddress2.text;
        clientDataFound.aClientCity = cvContactCity.text;
        clientDataFound.aClientPostalCode = cvPostalCode.text;
        clientDataFound.aClientCellPhone = cvCellPhone.text;
        clientDataFound.aClientPrimaryPhone = cvPrimaryPhone.text;
        clientDataFound.aClientEMail = cvPersonalEmail.text;
        clientDataFound.aClientNotes = cvNotes.text;

        [localContext MR_saveNestedContexts];

        [self reloadClientList];
    }
}
-(void) reloadClientList  {

    //Init Array to hold TableView Data
    tableDataArray = [NSMutableArray new];
    [tableDataArray addObjectsFromArray:[ClientInfo findAll]];  //  Load

    [self.clientList reloadData];

}

これはClientInfo.mです

#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>


@interface ClientInfo : NSManagedObject

@property (nonatomic, retain) NSString * aClientAddr1;
@property (nonatomic, retain) NSString * aClientAddr2;
@property (nonatomic, retain) NSString * aClientCellPhone;
@property (nonatomic, retain) NSString * aClientCity;
@property (nonatomic, retain) NSString * aClientEMail;
@property (nonatomic, retain) NSData * aClientImage;
@property (nonatomic, retain) NSString * aClientName;
@property (nonatomic, retain) NSString * aClientNotes;
@property (nonatomic, retain) NSString * aClientPostalCode;
@property (nonatomic, retain) NSString * aClientPrimaryPhone;

@終わり

4

2 に答える 2

1

私はそれを見つけました...私の「clientList」はオブジェクトに接続されていません...どうしてそれを見逃したのかわかりません!

于 2012-12-29T16:25:54.657 に答える
0

私が考えることができるいくつかの理由があります:

  1. テーブルビュー参照clientListはnilです。(接続されていません)
  2. テーブルビューのDataSource&Delegateが設定されていません(実際には、DataSourceが設定されていないときにコンパイルされるかどうかはわかりません)
  3. テーブルビューはのサブクラスでUITableViewあり、そのサブクラスのreloadDataメソッドはオーバーライドされます。
于 2012-12-29T16:40:48.870 に答える