Objective c ';使用未声明的标识符';完成结果'';
当我尝试输入此代码时,Xcode会告诉我“使用未声明的标识符”已完成,结果为“”。这是Quickblox上推送通知的代码。有一段代码:Objective c ';使用未声明的标识符';完成结果'';,objective-c,xcode,push-notification,quickblox,Objective C,Xcode,Push Notification,Quickblox,当我尝试输入此代码时,Xcode会告诉我“使用未声明的标识符”已完成,结果为“”。这是Quickblox上推送通知的代码。有一段代码: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { /// Set QuickBlox credentials (You must create application in admin
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
/// Set QuickBlox credentials (You must create application in admin.quickblox.com)
[QBSettings setApplicationID:XX];
[QBSettings setAuthorizationKey:@"XX"];
[QBSettings setAuthorizationSecret:@"XX"];
//
// If you use Push Notifications - you have to use lines bellow when you upload your application to Apple Store or create AdHoc.
//
[QBSettings useProductionEnvironmentForPushNotifications:YES];
QBASessionCreationRequest *extendedAuthRequest = [QBASessionCreationRequest request];
extendedAuthRequest.devicePlatorm = DevicePlatformiOS;
extendedAuthRequest.deviceUDID = [[UIDevice currentDevice] uniqueIdentifier];
extendedAuthRequest.userLogin = @"yourUserLogin";
extendedAuthRequest.userPassword = @"yourUserPassword";
[QBAuth createSessionWithExtendedRequest:extendedAuthRequest delegate:self];
// QuickBlox queries delegate
- (void)completedWithResult:(Result *)result{
if(result.success){
// Create session result
if([result isKindOfClass:QBAAuthSessionCreationResult.class]){
// register for receive push notifications
[QBMessages TRegisterSubscriptionWithDelegate:self];
// Register for receive push notifications result
}else if([result isKindOfClass:QBMRegisterSubscriptionTaskResult.class]){
// Congrats! Now you can receive Push Notifications!
}
}
}
错误在这一行:
// QuickBlox queries delegate
- (void)completedWithResult:(Result *)result{
if(result.success){
它表示“使用未声明的标识符”已完成,结果为“”
拜托,有人能帮忙吗?谢谢 您正在另一个方法中实现一个方法。这在Objective-C中是不允许的。您可能只是错过了
应用程序的右括号:didFinishLaunchingWithOptions:
方法。在第二个(completedWithResult:
)方法上方用}
关闭它。在Objective-C中,不能在方法内部实现方法。请确保在类内部实现方法,而不是另一个方法
如果您还没有弄明白,委派模式是Cocoa框架中一个简单但重要的部分:将your方法放入delegate类中,your代码的其他部分(本例中为QBAuth)稍后将调用它。您可能希望从此代码示例中删除您的应用程序机密。哦,是的,谢谢!!:facepalm:对不起,我没有注意到鼓手刚才说的。在行上方添加一个
}
,//QuickBlox queries delegate
…您的问题中没有包含该代码。所以实际上你没有忘记结束语}
。正如我所说,您只是在另一个方法中实现了一个方法。将completedWithResult:
放在应用程序之外:didfishLaunching
。我不知道如何才能更好地解释。选择、剪切、粘贴、完成。拿起一本Objective-C书,读一读