当我使用-(void)insertNewObject时,出现警告:“返回类型默认为'id'”

时间:2018-11-07 23:42:52

标签: xcode4.2

勘误表:由于我最初在本文中犯的剪切和粘贴错误, “-”减号被截断了。

也请在帖子底部看到一些额外评论

//Passer.m file contents


@implementation Passer

@dynamic firstName;
@dynamic currentTeam;
@dynamic lastName;
@dynamic games;


- (NSNumber *) passerRating
{
    int attempts = [[self.games valueForKeyPath: @"@sum.attempts"] intValue];
    int comps = [[self.games valueForKeyPath: @"@sum.completions"]     intValue];
    int yards = [[self.games valueForKeyPath: @"@sum.yards"] intValue];
    int tds = [[self.games valueForKeyPath: @"@sum.touchdowns"] intValue];
    int ints = [[self.games valueForKeyPath: @"@sum.interceptions"] intValue];

    double rating = passer_rating(attempts, comps, yards, tds, ints);
    return [NSNumber numberWithDouble: rating];
}

@end

我从Xcode中的一个图书示例中复制了此代码 但不知道为什么会产生此警告:

  

PasserListController.m:警告:语义问题:类方法   找不到'+ passerWithFirstName:lastName:inContext:'(返回类型   默认为'id')

这本书的示例代码是否有错误,如下所示?

- (void)insertNewObject

    {


    Passer *   newPasser;
    newPasser = [Passer passerWithFirstName: @"FirstName"    
                        lastName: @"LastName"
                        inContext: self.managedObjectContext];


    newPasser.currentTeam = @"TeamName";

    // Save the context.
    NSError *error;
    if (![self.managedObjectContext save:&error])
        {

    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
          abort();
        }
    }


 @end

其他评论: 由于以下原因,我无法更新发布的问题  Xcode应用程序(4.2.1)在启动时崩溃。 进行了6次卸载并重新安装,以恢复正常工作的Xcode应用程序。 对于所有的困惑和我的延迟答复,我们深表歉意。

0 个答案:

没有答案