-3

如何将我的 NSInteger 放入我的 NSString stringWithFormat:

我的代码:

-(IBAction)main:(id)sender
{
NSAppleScript *script = [[NSAppleScript alloc] initWithSource:@"return the clipboard"];


NSAppleEventDescriptor *clipboardTXT = [[script executeAndReturnError:nil]stringValue];

NSInteger *length = [clipboardTXT.stringValue length];

NSString *mystring = [NSString stringWithFormat:@"%", length];


[mybutton setTitle:mystring];
}

ps 我试过这个,但它对我不起作用。

输出

4

2 回答 2

2

使用说明%d符。

- (IBAction)main:(id)sender
{
    NSAppleScript *script = [[NSAppleScript alloc] initWithSource:@"return the clipboard"];


    NSAppleEventDescriptor *clipboardTXT = [script executeAndReturnError:nil];

    NSInteger length = [[clipboardTXT stringValue] length];

    NSString *mystring = [NSString stringWithFormat:@"%d", length];

    [mybutton setTitle:mystring];
}

编辑:

您的问题与您所要求的完全不同。为什么第一次没有包含错误消息?浪费时间的人...

它显然指出问题必须在您的stringValue电话周围的某个地方。如果你用谷歌搜索过,你肯定会发现这个错误消息意味着你发送stringValue到的对象没有这样的方法。executeAndReturnError返回一个NSAppleEventDescriptor实例。然后你调用stringValuewhich 将返回一个NSString,而不是一个NSAppleEventDescriptor。之后,您将stringValue消息发送到NSString(它没有这样的方法)。请参阅我编辑的代码。

于 2012-10-29T23:48:09.963 回答
1

两件事,你想使用说明%d符,你需要*在你的长度声明中删除

NSInteger length = [clipboardTXT.stringValue length];
NSString *mystring = [NSString stringWithFormat:@"%d", length];
于 2012-10-29T23:56:00.763 回答