gpt4 book ai didi

ios - 消息表达式中的参数是未初始化的值?

转载 作者:行者123 更新时间:2023-11-28 23:14:26 26 4
gpt4 key购买 nike

我在下面的粗体行中收到警告 Argument in message expression is an uninitialized value:

***SHKActionSheet *as = [[SHKActionSheet alloc] initWithTitle:SHKLocalizedString(@"Share")***
delegate:as
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:nil];
as.item = [[[SHKItem alloc] init] autorelease];
as.item.shareType = type;

有什么问题或如何解决吗?P.S - 这是在 ShareKit 中

谢谢!

Edit1:所以你是说要这样做?

+ (SHKActionSheet *)actionSheetForType:(SHKShareType)type
{
SHKItem *myItem = [SHKItem text:@"Share"]; // See SHKItem for other convenience constructors for URL, image, text and file item types.
SHKActionSheet *as = [SHKActionSheet actionSheetForItem:myItem];
as.item.shareType = type;

as.sharers = [NSMutableArray arrayWithCapacity:0];
NSArray *favoriteSharers = [SHK favoriteSharersForType:type];

// Add buttons for each favorite sharer
id class;
for(NSString *sharerId in favoriteSharers)
{
class = NSClassFromString(sharerId);
if ([class canShare])
{
[as addButtonWithTitle: [class sharerTitle] ];
[as.sharers addObject:sharerId];
}
}

// Add More button
[as addButtonWithTitle:SHKLocalizedString(@"More...")];

// Add Cancel button
[as addButtonWithTitle:SHKLocalizedString(@"Cancel")];
as.cancelButtonIndex = as.numberOfButtons -1;

return [as autorelease];
}

编辑2:

+ (SHKActionSheet *)actionSheetForType:(SHKShareType)type
{

SHKActionSheet *as = [[SHKActionSheet alloc] initWithTitle:SHKLocalizedString(@"Share")
delegate:nil
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:nil];
as.item = [[[SHKItem alloc] init] autorelease];
as.delegate = self;


as.item.shareType = type;

as.sharers = [NSMutableArray arrayWithCapacity:0];
NSArray *favoriteSharers = [SHK favoriteSharersForType:type];

// Add buttons for each favorite sharer
id class;
for(NSString *sharerId in favoriteSharers)
{
class = NSClassFromString(sharerId);
if ([class canShare])
{
[as addButtonWithTitle: [class sharerTitle] ];
[as.sharers addObject:sharerId];
}
}

// Add More button
[as addButtonWithTitle:SHKLocalizedString(@"More...")];

// Add Cancel button
[as addButtonWithTitle:SHKLocalizedString(@"Cancel")];
as.cancelButtonIndex = as.numberOfButtons -1;

return [as autorelease];
}

最佳答案

我很确定问题出在这条线上:

delegate:as

问题是您将委托(delegate)设置为“as”,这是您正在初始化的操作表的名称。 (所以你试图将 ref 传递给你正在初始化的对象作为其初始化程序的参数)。

而是在 alloc/init 调用时将委托(delegate)设置为 nil,并在调用后显式设置委托(delegate)。

SHKActionSheet *as = [[SHKActionSheet alloc] initWithTitle:SHKLocalizedString(@"Share")***
delegate:nil
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:nil];
as.delegate = as;
as.item = [[[SHKItem alloc] init] autorelease];
as.item.shareType = type;

关于ios - 消息表达式中的参数是未初始化的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7019710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com