gpt4 book ai didi

ios - 如何在 iOS 的全局变量中附加值?

转载 作者:行者123 更新时间:2023-11-29 01:54:49 25 4
gpt4 key购买 nike

我对 iOS 非常陌生,所以我不知道。我正在开发一个应用程序,在其中我从服务器获取数据。所以我有一些从中获取数据的 url。我想要将所有 url 贴在一个单独的文件中并在另一个文件中使用它们。我创建了 AppConst.h 和 AppConst.m。

AppConst.h

#import <Foundation/Foundation.h>

@interface AppConstant : NSObject

extern NSString const *BASE_URL;
extern NSString const *LOGIN;
extern NSString const *CREATE_ACCOUNT;
extern NSString const *UPDATE_PROFILE;
extern NSString const *ADD_BUSINESS_CARD;
extern NSString const *ADD_NONBUSINESS_CARD;
extern NSString const *ADD_EVENT_CARD;


@end

AppConst.m

#import "AppConstant.h"

@implementation AppConstant
NSString const *BASE_URL=@"http://localhost:8080/app/v1";
NSString const *LOGIN=@"/login";
NSString const *UPDATE_PROFILE=@"/create_account";
NSString const *ADD_BUSINESS_CARD=@"/addBusinessCard";
NSString const *ADD_NONBUSINESS_CARD=@"addNonBusinessCard";
NSString const *ADD_EVENT_CARD=@"addEventCard";



@end

但我无法将 BASE_URL 字符串附加到 LOGIN url。我收到如下错误

sending 'const_NSString *__strong' to parameter of type "NSString discards qualifiers.

最佳答案

你应该声明你的常量字符串如下:

NSString * const kSomeConstantString = @""; // constant pointer

前者是指向NSString对象的常量指针,后者是指向常量NSString对象的指针。

使用 NSString * const 可以防止您重新分配 kSomeConstantString 以指向不同的 NSString 对象。

方法 isEqualToString: 需要一个 NSString * 类型的参数。如果您传递一个指向常量字符串 (const NSString *) 的指针,则您传递的是与预期不同的内容。

此外,NSString 对象已经是不可变的,所以让它们成为 const NSString 是没有意义的。

否则你也可以像这样声明常量

#define kSomeConstantString  @""

关于ios - 如何在 iOS 的全局变量中附加值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30994356/

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