勘误表:由于我最初在本文中犯的剪切和粘贴错误, “-”减号被截断了。
也请在帖子底部看到一些额外评论
//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应用程序。 对于所有的困惑和我的延迟答复,我们深表歉意。