【问题标题】:Syntax error calling method with argument带参数的语法错误调用方法
【发布时间】:2015-07-12 06:42:50
【问题描述】:

我正在尝试调用一个带有参数但语法不正确的方法。有人可以看到我做错了什么吗?确切的错误是“使用未声明的标识符'self'”。

- (NSString*)uniquePicName:(NSString *)extensionString
{
    // Extension string is like @".png"

    NSDate *time = [NSDate date];
    NSDateFormatter* df = [NSDateFormatter new];
    [df setDateFormat:@"dd-MM-yyyy-hh-mm-ss"];
    NSString *timeString = [df stringFromDate:time];
    NSString *fileName = [NSString stringWithFormat:@"File-%@%@", timeString, extensionString];

    return fileName;
}

NSString *extension = @".png";
NSString *newName = [self uniquePicName:extension]//throws error here

【问题讨论】:

  • 请用括号关闭您的代码。看起来您在上面放置了 } 4 行,将其放在代码的末尾。
  • 模块中的调用在哪里?显示它的封闭方法。
  • Evgeniy 最后两行不是该方法的一部分,因此它们属于括号之外的 no in。Yves 调用位于发生语法错误的行 NSString *newName = [self uniquePicName:extension] .
  • @user1904273 当您尝试在实现文件的其他位置访问 self.someProperty 时,是否有任何错误?
  • @user1904273 你不能只在任何地方粘贴代码。最后两行不合适。

标签: objective-c methods arguments


【解决方案1】:

声明:

NSString *extension = @".png";
NSString *newName = [self uniquePicName:extension];

必须在类的方法中。

如果语句不在方法中,self 不存在并且您收到消息:“使用未声明的标识符'self'”。

【讨论】:

  • 是的,就是这样。感谢您解释自我错误,因为它让我失望。
猜你喜欢
  • 1970-01-01
  • 2022-06-23
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多