Tag: 委托

使用委托更改标签文字颜色

我有两个视图控制器, ParentViewController有使用SecondViewController更新的标签。 现在我想从ChildViewController更改ParentViewController的标签文本颜色,因为我使用的协议和委托,但它显示错误。 我的代码是这样的: ChildViewController.h @protocol ViewControllerDelegate -(void) updateLabel; @end @interface ChildViewController : UIViewController<UITextFieldDelegate,UITextViewDelegate> { id <ViewControllerDelegate> delegate; } @property (assign) id <ViewControllerDelegate> delegate; @end ChildViewController.m @implementation childViewController @synthesize delegate; – (IBAction)backBtn:(id)sender { [delegate updateLabel]; } @end ParentViewController.h #import <UIKit/UIKit.h> #import "childViewController.h" @interface ParentViewController : UIViewController<UserResizableViewDelegate,ViewControllerDelegate> @end ParentViewController.m @implementation ParentViewController – (void)viewDidLoad { ChildViewController.delegate=self; //here […]

正确的创build新对象的方法是在应用程序委托中定义的NSDictionary和NSArray对象的副本

我想知道什么正确的方法是在应用程序委托或单身人士对象中定义一个对象的副本。 总之,我正在制作一个需要用户login的应用程序。 这个login视图只是一个在“真实”应用程序之上的模式视图控制器,它由一个tabbarcontroller和一些tableview控制器组成。 成功login后,向远程服务器发送数据请求,模式视图控制器被解除,显示包含XML数据的TabBar控制器和表视图。 为了parsing传入的数据,我创build了一个名为DataParser的单例对象,它具有接口 … @interface DataParser : NSObject { // Data objects that hold the data obtained from XML files NSMutableDictionary *personnel; NSMutableDictionary *schedule; NSMutableDictionary *today; } @property (nonatomic, retain) NSMutableDictionary *personnel; @property (nonatomic, retain) NSMutableDictionary *schedule; @property (nonatomic, retain) NSMutableDictionary *today; … 现在,在这些字典中,我存储(可变的)字典和数组,其中包含了parsingXML数据的NSString对象。 由于我不想修改这些原始的对象来保存parsing的数据(也就是说,我只想在login阶段修改它们,而不是在任何的tableview控制器中修改),我正在创build一个新的字典对象,每个tableview控制器上面的一个字典的内容的副本。 所以例如,在一个名为ScheduleViewController的视图控制器的loadView中,我有 … @interface ScheduleViewController : UITableViewController { NSDictionary […]

核心图1.0:为图例提供自定义标签

我正在使用CorePlot 1.0,并想添加一个图例到我的条形图 (这是一个子类XYGraph)。 我有viewController中的数据源和图例标题方法,它实例化条形图并将自己设置为其委托。 我已经花了不同的代表和传奇设置几个小时,但无法find我的错误。 你能否提供一些我可能犯错的提示? 我已经将子图XYGraph生成如下的条形图: .h @interface BarLineChart : CPTXYGraph @property (strong, nonatomic) id <CPTPlotDataSource, CPTBarPlotDataSource, CPTBarPlotDelegate, CPTPlotSpaceDelegate> delegate; @end 在我的实现.m中 ,我设置了如下的图例: // Add legend CPTLegend *legend = [CPTLegend legendWithGraph:self]; legend.fill = [CPTFill fillWithColor:[CPTColor colorWithGenericGray:0.15]]; legend.borderLineStyle = axisLineStyle; legend.cornerRadius = 10.0; legend.swatchSize = CGSizeMake(16.0, 16.0); CPTMutableTextStyle *legendTextStyle = [CPTMutableTextStyle textStyle]; legendTextStyle.color = [CPTColor […]

没有types或协议名称

在search了这个答案之后,我发现了许多相关的问题,但是在实现它们之后,我仍然无法摆脱这个错误。 我有一个AFHTTPRequestOperationManager类的类。 在导入语句结束之后,在这个类中的.h文件写了@protocol apiClientDelegate; 在@interface有一个@property (weak) id<apiClientDelegate>delegate; 之后我写了: @protocol apiClientDelegate <NSObject> @required -(void)finalImageURLs:(NSMutableArray*)array; @end 所以在另一个类,这是一个UICollectionViewController我已经写了@interface GalleryCollectionViewController : UICollectionViewController <apiClientDelegate> ,它仍然显示这个错误。 以下是截图: 并且在给出错误的类中: UPDATE 在添加了@protocol apiClientDelegate; 在GalleryCOllectionViewController但是现在它开始显示这个警告,并且该方法不被执行:

在Objective-C中,处理asynchronoushttp请求比委托更清晰吗?

我正在构build一个iPhone应用程序,大量利用我在PHP中编写的Web服务。 现在我有一个文件(API.h / API.m),它具有通过NSURLConnection在我的Web服务上调用PHP函数的方法。 方法如下: -(void) mediaAdd:(UIImage *)image withDelegate: (id<apiRequest>) delegate; -(void) mediaGet:(NSString *)imageURL withDelegate: (id<apiRequest>) delegate; 这些方法由应用程序中的控制器(由MVC模式定义的控制器)调用,并且方法以控制器作为委托。 一旦API.h / API.m中被调用方法的请求完成,请求完成时调用API.h / API.m中的NSURLConnection委托方法,然后调用委托方法… -(void) serverResponse:(NSDictionary *) response fromCall:(NSString *)call; …当然是在调用API.h / API.m中的方法的控制器上执行的。 当控制器需要进行多个API调用时,我的问题,或者更糟糕的情况就会出现。 因为我只有一个委托方法,所以我使用serverResponse方法中的call参数来区分不同的调用。 以下是serverResponse方法实例的一个框架: //API Delegate -(void)serverResponse:(NSDictionary *)response fromCall:(NSString *)call { bool local = false; NSString *callbackString; if (local) { callbackString = @"http://localhost/"; } […]

如何使用NSCoding对通过委托传递的值进行编码

我真的很新,使用NSCodingfunction,我试图创build一个归档string的数据的持久性,特别是通过委托传递的UIColor。 我还没有find一个教程,编码的值没有声明和初始化在NSCoding协议符合相同的类。 我有下面的代码,这是符合我创build的协议的方法,并将传递的颜色值作为属性赋值给attributesString。 func didSelectColorCell(color: UIColor) { let coder = NSCoder.init() color.encode(with: coder) noteTextView.setAttributedValueAtSelectedTextRange(NSForegroundColorAttributeName, value: color) } 该应用程序崩溃,并发送给我一个警告:“不能被发送到类NSCoder的抽象对象:创build一个具体的实例! 我真的迷失在如何进行。 我不知道如何使这个教程http://nshipster.com/nscoding/适应我的情况。 有人可以给我提供指导如何订购我的想法,或NSCoding如何与代表工作? 任何帮助,将不胜感激 :)

Swift:委托协议没有正确设置UILabel

我有以下Protocol : protocol SoundEventDelegate{ func eventStarted(text:String) } 我在这堂课中所称的: class SoundEvent { var text:String var duration:Double init(text: String, duration: Double){ self.text = text self.duration = duration } var delegate : SoundEventDelegate? func startEvent(){ delegate?.eventStarted(self.text) } func getDuration() -> Double{ return self.duration //TODO is this common practice? } } 我有我的ViewController符合: class ViewController: UIViewController, SoundEventDelegate { //MARK:Properties @IBOutlet […]

将委托传递给另一个视图控制器的委托

我正在使用Objective-C编写的应用程序中构build一个function。 我不能张贴代码,但我会尽力描述我的世界。 我面临的问题与代表有关。 AlphaViewController将ConnectionView作为其delegate 。 它有助于添加对AlphaViewController提供的数据执行一些操作,并在AlphaViewController's视图上显示输出。 当你点击AlphaViewController一个button时,显示一个UIAlertController 。 从中我可以点击一个button来打开ReportView 。 BetaViewController创buildReportView 。 BetaViewController具有ReportGenerator作为其delegate 。 ReportGenerator有助于生成一些我在BetaViewController's视图中呈现的HTML。 我的问题是,我想使用ConnectionView's输出(我相信是AlphaViewController的ConnectionView对象的AlphaViewController ) ,在ReportGenerator中处理它,然后在BetaViewController's视图中呈现HTML中BetaViewController's数据。 我一直在搞乱find一个解决scheme,但一直没能弄清楚什么。 代表我不好。 请帮助我在这里实现我的目标。 对不起,我不能发布代码。

如何从已经在UINavigationController栈中的UIViewController调用一个方法

我有一个UIViewController在UINavigationStack和从这个UIView我加载另一个视图不到堆栈,但作为子视图。 我加载的这个视图只是一个应用程序的首选项视图,我把它叠加到所展示的任何东西上。 即 myViewController <- on the stack button touch loads as a subview to myViewController + prefrencesViewController 我的问题是,有没有办法从prefrencesViewController调用myViewController中的方法? 我试图使用委托和协议,但它不工作,所以我希望有一个简单的方法来做到这一点,我不知道或者也许我可以得到一些帮助我的委托/协议… 这是我的代码看起来像委托和协议设置 //prefrencesViewController.h @protocol GetPrefrencesViewControllerDelegate <NSObject> -(void)reloadViewFromSavedPrefrences; @end //delegates and protocols @property (nonatomic, weak) id <GetPrefrencesViewControllerDelegate> delegate; //prefrencesViewController.m //delegates and protocols @synthesize delegate; //.. inside button action [[self delegate] reloadViewFromSavedPrefrences]; //myViewController.h #import "prefrencesViewController.h" @interface myViewController : […]

未声明的委托,并应startStartLoadWithRequest

一般来说,我是更新的编码! 我正在尝试创build一个不允许导航到浏览器的webview。 我有大部分的编码types,但我有两个未声明的错误,我不知道如何解决这个问题。 我想要做的是创build一个webView,但是我想使webView的查看器不能导航到其他页面的地方。 如果他/她也尝试过,则不能满足要求。所以基本上它只停留在一页上。 如果我只是需要以一种非常简单的方式宣布他们,那么请给我看看和帮助。 谢谢。 错误如下所示: #import "ViewController.h" @interface ViewController() <UIWebViewDelegate> @end @implementation ViewController @synthesize webView; – (void)viewDidLoad { [super viewDidLoad]; webview:delegate = nil; NSURL *url = [NSURL URLWithString:@"https://twitter.com/u_bett"]; NSURLRequest *urlrequest = [NSURLRequest requestWithURL:url]; [webView loadRequest:urlrequest]; } – (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { return NO; }