使用KVO与NSNotificationCenter观察对可变arrays的更改

在我的模型中,我有一个名为events的对象数组。 我想我的控制器被通知每当一个新的对象被添加到事件。 我认为这样做的好方法是使用KVO模式在事件发生变化时得到通知(从添加新对象开始) // AppDelegate // events is a NSMutableArray @property/@synthesize etc… [appDelagate addObserver:self forKeyPath:@"events" options:NSKeyValueObservingOptionNew context:NULL]; 但是, observeValueForKeyPath方法没有被调用,我发现数组不符合KVO 🙁 一种select是通过为keyPath调用willChangeValueForKey来手动触发该方法 // ViewController [self willChangeValueForKey:@"events"]; [self.events addObject:event]; [self didChangeValueForKey:@"events"]; 但是这样感觉很重,因为我应该跟踪事件数组的前后状态,以便可以通过observeValueForKeyPath方法来访问它。 一种方法是使用一个标准数组(而不是可变的),每次我想添加一个新的对象时创build/设置一个新的事件实例,或者我可以创build一个单独的属性来跟踪可变数组(我希望你可以观察@“events.count”)。 另一种select是使用NSNotificationCenter。 我也读过一些build议使用块的答案(但我不知道从哪里开始)。 最后,我是否可以在我的委托中保存我的控制器实例,并发送相关消息? // Delegate [myController eventsDidChange]; 从代表保持对控制器的引用是否很奇怪? 我正在努力了解如何select哪个是最好的方法来使用,所以任何有关性能,未来的代码灵活性和最佳实践的build议,将不胜感激!

我能从iPhone上的其他应用程序启动一个应用程序吗?

我想创build应用程序必须启动另一个应用程序,并在最后运行一些function。 我的意思是我的应用程序调用应用程序B并运行在B某种方法。 我可以这样做吗? 我知道我想使用URLscheme,但我可以在另一个应用程序中运行一些方法? 谢谢!

UICollectionView水平分页不居中

我有一个水平滚动collectionView与每个单元格视图的大小。 当我通过collectionView页面不是逐页。 单元格不在屏幕的中心。 我已经尝试了一堆东西来尝试修复它,并没有任何运气。 这是一个问题的video: https : //www.youtube.com/watch ? v = tXsxWelk16w有什么想法?

Xcode选项卡式应用程序 – 添加新的选项卡视图

我正在使用Xcode 4.2。 我开始使用Tabbed Application,现在我想在应用程序中添加第三个和第四个Tabbed到故事板。 我如何添加? 我尝试使用它,但我不能。 :(我没有得到好的教程。 有没有人有任何想法如何做到这一点? 我经历了这个链接 ,但我需要添加2多个选项卡式视图到第一个视图。 更新: 只要去创build选项卡式应用程序 ,他们尝试添加一个或两个以上的选项卡视图。 我还在尝试。 但我不能。

如何使用AFNetwork的AFHTTPRequestOperationManager设置HTTP请求正文?

我正在使用AFHTTPRequestOperationManager(2.0 AFNetworking库)REST POST请求。 但是pipe理者只需要调用参数。 -((AFHTTPRequestOperation *)POST:(NSString *)URLString parameters:(NSDictionary *)parameters success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure; 我需要设置一个string的HTTP请求正文。 我怎样才能使用AFHTTPRequestOperationManager? 谢谢。

检查UIAlertController TextField是否启用button

我有一个AlertController与文本字段和两个button:取消和保存。 这是代码: @IBAction func addTherapy(sender: AnyObject) { let addAlertView = UIAlertController(title: "New Prescription", message: "Insert a name for this prescription", preferredStyle: UIAlertControllerStyle.Alert) addAlertView.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Default, handler: nil)) addAlertView.addAction(UIAlertAction(title: "Save", style: UIAlertActionStyle.Default, handler: nil)) addAlertView.addTextFieldWithConfigurationHandler({textField in textField.placeholder = "Title"}) self.presentViewController(addAlertView, animated: true, completion: nil) } 我想要做的是实现一个文本框检查当禁用保存button,当文本框是空的就像图片应用程序的iOS,当你想创build一个NewAlbum。 请有人能解释我该怎么做?

图像在圈子框架iOS

我有一个联系人列表uitableview。 我想要像在特立独行的login屏幕中的每个联系人的图像。 任何build议如何在uitableviewCell中做到这一点?

didUpdateLocations未被调用

我试图得到我当前的位置,但didUpdateLocations中的断点永远不会被调用。 的LocationManager: locationManager = [[CLLocationManager alloc] init]; [locationManager setDelegate:self]; [locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; [locationManager setDesiredAccuracy:kCLDistanceFilterNone]; [locationManager startUpdatingLocation]; 代表方法: – (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations; 我确认位置服务并启用和授权。 为什么不调用locationManager委托方法? 谢谢,迈克

我怎样才能改变图像tintColor

我从服务器接收图像,然后基于用户select的颜色,图像颜色将会改变。 我尝试了以下内容: _sketchImageView.image = [_sketchImageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; [_sketchImageView setTintColor:color]; 我得到了与我目标相反的目标(UIImage外部的白色用所选颜色着色)。 什么问题? 我需要在这个问题上做同样的事情,所提供的解决scheme并不能解决我的问题。 如何更改iOS和WatchKit中的图像tintColor

UICollectionViewCell震动

我已经创build了一个UICollectionView,并希望所有的单元格都像iPhone上跳板的编辑模式一样摇动。 我创build了我的摇号,但不知道如何实现它。 我有自定义单元格,所以我假设它在那里,但不知道如何得到实施。 谢谢。 #define degreesToRadians(x) (M_PI * (x) / 180.0) #define kAnimationRotateDeg 0.5 #define kAnimationTranslateX 1.0 #define kAnimationTranslateY 1.0 //startJiggling int count = 1; CGAffineTransform leftWobble = CGAffineTransformMakeRotation(degreesToRadians( kAnimationRotateDeg * (count%2 ? +1 : -1 ) )); CGAffineTransform rightWobble = CGAffineTransformMakeRotation(degreesToRadians( kAnimationRotateDeg * (count%2 ? -1 : +1 ) )); CGAffineTransform moveTransform = CGAffineTransformTranslate(rightWobble, […]