【问题标题】:Objective C Expected ';'after method prototype error目标C预期';'在方法原型错误之后
【发布时间】:2015-03-08 23:08:32
【问题描述】:

我的代码有问题

#import <Foundation/Foundation.h>

@protocol ServiceDelegate <NSObject>


-(void)serviceFinished:(id)service withError:(BOOL)error {
    if (!error)
        [searchResults removeAllObjects];

        for (NSDictionary *movie in [service results]) {
            [searchResults addObject:[movie valueForKey:@"title"]];
        }

        [[self tableView] reloadData];
    }


@end

它一直告诉我放一个 ;而不是 { 在这一行

-(void)serviceFinished:(id)service withError:(BOOL)error {

但是,如果我替换 { 那么代码会中断并且不起作用。并告诉我第二行代码

if (!error) {

if 有错误 "Expected identifier or '('

关于如何让它发挥作用的任何想法?

【问题讨论】:

  • 查找更新的教程。
  • 我搜索的所有内容都使用故事板或 swift.... 我不想要那个
  • 您现在拥有的代码发生了什么?文字只是没有显示吗?
  • 我认为你的代码有错误{}。对我来说,t - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath 没有正确的 {}。而且 - (id) initWithStyle:(UITableViewStyle)style 也有同样的问题。
  • 为了给表格添加标题,它说使用了未声明的标识符initWithStyle,我也不知道我应该把它放在代码的什么地方。

标签: objective-c xcode xcode6


【解决方案1】:

你的界面代码:

#import <UIKit/UIKit.h>

@interface FilmTableViewController : UITableViewController

@end

@interface initWithStyle : NSString
- (void)UITableViewStyle:(NSString*);

@end

错误。应该是:

#import <UIKit/UIKit.h>

@interface FilmTableViewController : UITableViewController

- (id)initWithStyle:(UITableViewStyle)style;

@end

@interface 后应始终紧跟 类名 - 如果适用,: 和超类名称,并采用尖括号内的协议(并用逗号分隔)-。 methods 的接口声明与实现(定义)中的函数头相同,末尾有一个分号(;)(与 C 函数的规则相同,但必须与@interface... / @end 对。)

附录:您提到 iti 似乎是导致错误的 .m 文件;但是,- (id)initWithStyle:(UITableViewStyle)style 的方法定义看起来不错……那么,Xcode 指向哪一行?实际的错误信息是什么?

附录 2: 您在 -tableView:cellForRowAtIndexPath:initWithStyle: 的方法主体之间缺少一个结束 }(紧跟在 return cell; 之后),这就是编译器不解释的原因方法定义为正确的代码。您的代码已损坏。

【讨论】:

  • 仍然说 initWithStyle 未声明
  • 您是在 FilmTableViewController 类型的对象上,在具有 #import "FilmTableViewController.h" 的文件中将其作为实例方法调用吗?
  • 请记住,initWithStyle:initWithStyle(无参数)被视为不同的方法。参数不是可选的。
  • @ Nicolas,我不太确定,我正在尝试学习我的大学教程,但似乎错过了声明函数。
  • 非常感谢您的帮助,我使用的教程不是最好的,我没有想到要寻找结束 }。
猜你喜欢
  • 2013-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-16
  • 1970-01-01
  • 1970-01-01
  • 2014-02-22
相关资源
最近更新 更多