問題:
新しい UITableViewController クラスが作成されたときに Xcode が自動的にコメントアウトする組み込みの editButtonItem は、コメントのスラッシュ ( //
) を削除すると機能しません。機能しないとは、編集ボタンがまったく表示されないことを意味します。セルをスワイプしても機能しません。
試行された解決策: 他のスタックオーバーフロー スレッドに投稿されたさまざまな回避策に従ってみましたが、役に立ちませんでした。私が見つけた投稿のほとんどは、編集ボタンが機能しないさまざまな側面 (マイナス記号が表示されないなど) について語っていますが、編集ボタンがまったく表示されない投稿はほとんど見つかりませんでした。
勘: UITableViewController が適切に実装されていないことに関係があるのではないかと思います。私はオブジェクト指向プログラミングと Objective-C の両方に非常に慣れていないため、答えが非常に基本的なものである場合は申し訳ありませんが、それは学習プロセスの一部です。どんな助けでも大歓迎です。
コード:
_ _ _ .h
#import <UIKit/UIKit.h>
#import "IndividualRecipeViewController.h"
@class BrowsePrivateRecipeViewController;
@protocol BrowsePrivateRecipeViewControllerDelegate
- (void)browsePrivateRecipeViewControllerDidFinish:(BrowsePrivateRecipeViewController *)controller;
@end
@interface BrowsePrivateRecipeViewController : UITableViewController
@property (weak, nonatomic) id <BrowsePrivateRecipeViewControllerDelegate> delegate;
@property (assign, nonatomic) NSUInteger listLength;
@property (strong, nonatomic) NSDictionary *dictionaryOfRecipes;
@property (strong, nonatomic) NSMutableArray *arrayOfRecipeNames;
// ... methods
@end
_ _ _ .m
@interface BrowsePrivateRecipeViewController ()
@end
@implementation BrowsePrivateRecipeViewController
@synthesize delegate = _delegate;
@synthesize listLength = _listLength;
@synthesize dictionaryOfRecipes = _dictionaryOfRecipes;
@synthesize arrayOfRecipeNames = _arrayOfRecipeNames;
- (void)viewDidLoad
{
// ... code here
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
// ... other methods
アップデート:
そのため、ソース コードをプロジェクト全体に投稿することにしました。複数のファイルでこの問題が発生していますが、1 つのファイルで修正できれば、残りのファイルも問題なく解決されると確信しています。
ファイルに注目してくださいBrowsePrivateRecipeViewController.m/.h.
。これは、問題の最も単純な例です。
もう一度、あなたの忍耐と助けに感謝します.
ジェイソン