类方法的错误和目标c中对象的属性

时间:2013-05-20 21:37:27

标签: ios objective-c

我正在尝试在我的时间之前简单更新我公司创建的应用上的一些文字。该应用程序是一个原生的iOS应用程序,我不熟悉目标C所以我不知道如何搜索这些解决方案。

我有以下代码:

- (IBAction)PlayFirstVideo:(id)sender {
// allocate a reachability object
Reachability* reach = [Reachability reachabilityWithHostname:@"www.google.com"];

// set the blocks 
reach.reachableBlock = ^(Reachability*reach)
{
    dispatch_async(dispatch_get_main_queue(), ^{
    NSString *url = @"http://domainname.com/tvxcode/tomatobasilsequence/tomatobasil_all.m3u8";
    videoPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:url]];
    [self.view addSubview:videoPlayer.view];
    videoPlayer.view.frame = CGRectMake(359, 0, 665, 375);  
    [videoPlayer play];
        });
};

reach.unreachableBlock = ^(Reachability*reach)
{
    dispatch_async(dispatch_get_main_queue(), ^{
    UIAlertView *noConnection = [[UIAlertView alloc] initWithTitle:@"Connection Required"
             message:@"An internet connection is required to view videos."
             delegate:nil
             cancelButtonTitle:@"OK"
             otherButtonTitles:nil];
    [noConnection show];
        });
};

// start the notifier which will cause the reachability object to retain itself!
[reach startNotifier];
}

这会产生三个错误:

  • 没有已知的选择器'reachabilityWithHostname:'
  • 的类方法
  • 在'可达性*'
  • 类型的对象上找不到属性'reachableBlock'
  • 在'可达性*'
  • 类型的对象上找不到属性'unreachableBlock'

我真正的问题显然是如何解决这个问题,但我甚至不确定这些是否是自定义类。它们似乎与之前的开发人员的名称风格和习惯不匹配,所以如果是这样的话,这是一个问题,因为我更新了xCode?

3 个答案:

答案 0 :(得分:2)

我有第一个答案

没有已知的选择器类方法' reachabilityWithHostname:'

您的代码方法中的

名称 reachabilityWithHost <强>名词 AME:

原始方法名称 reachabilityWithHost的Ñ AME

区分大小写

答案 1 :(得分:0)

Reachability类来自Apple示例项目。

http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

对您的错误最有可能的解释是,该文件顶部没有“Reachability.h”的#import。你可能只是得到了前瞻声明。

答案 2 :(得分:0)

https://github.com/tonymillion/Reachability有一个单独的可访问性项目,它似乎就是您正在使用的项目,并且与Apple版本不同。这两个可能是冲突的。

其他项目(例如sharekit)包括reachability.h和.m文件。您可以检查包含中某处是否存在冲突版本,以及定义之间的差异。