我正在快速学习,而我正在学习的课程教授tableViews.我必须设置TableViewControllert include UITableViewDataSource和UITableViewDelegate.然后,在viewDidLoad,我必须设置
tableView.dataSource = self
tableView.delegate = self
Run Code Online (Sandbox Code Playgroud)
为了使tableView出现并加载数据.
为什么我要这样做?
我正在 iPhone 应用程序开发中使用键盘退出功能。我想知道为什么
self.textField.delegate = self
Run Code Online (Sandbox Code Playgroud)
需要包含在 viewController 的 viewDidLoad 中。我试图找到原因,但到目前为止还没有明确的解释。
我一直在使用Objective-C,并且非常了解它的大部分功能.但是,代表们的概念使我望而却步.有人可以简单易懂地解释代表是什么,如何在iPhone SDK中使用它们,以及如何在我自己的代码中最好地利用它们?
谢谢!
我在iOS编程中随处可见使用委托......我不确定使用的是什么.
你能解释一下吗?
我有两个视图控制器,AbcViewController和XyzViewController.两个控制器的行为类似.每个都有一个"添加"按钮,分别打开一个AddNewAbcViewController和AddNewXyzViewController.
在AddNewAbcViewController,当按钮"提交"被录音时,它会做必要的东西并关闭,然后将其恢复AbcViewController.我在这里使用委托AbcViewController关闭的地方AddNewAbcViewController.这有效.
现在我想为XyzViewController和做同样的事情AddNewXyzViewController,但它不起作用.当调用btnSubmit时AddNewXyzViewController,它没有进入XyzViewControllerdimiss方法.我已多次扫描我的代码,但没有找到任何额外的未添加.我甚至给了一个不同的dismiss方法名称XyzViewController,AddNewXyzViewController但是也没用.我错过了什么?
这是我AbcViewController和我的片段AddAbcViewController.Xyz的代码是相同的:
上课AddNewAbcViewController.h是
#import <Foundation/Foundation.h>
// protocol
@protocol AddNewAbcProtocol <NSObject>
-(void)dismiss;
@end
@interface AddNewAbcViewController : UIViewController<UITextViewDelegate>
@property(nonatomic, weak)id<AddNewAbcProtocol> delegate;
@end
Run Code Online (Sandbox Code Playgroud)
上课AddNewAbcViewController.m是
@interface AddNewAbcViewController() <UINavigationControllerDelegate, UIImagePickerControllerDelegate>
...
@end
@implementation AddNewAbcViewController
...
- (IBAction)btnSubmit:(id)sender
{
[self.delegate dismiss];
}
@end
Run Code Online (Sandbox Code Playgroud)
上课AbcViewController.h是
#import <Foundation/Foundation.h> …Run Code Online (Sandbox Code Playgroud)