我正在寻找一种很好的可可方式将NSData对象序列化为十六进制字符串.我们的想法是将用于通知的deviceToken序列化,然后再将其发送到我的服务器.
我有以下实现,但我认为必须有一些更短更好的方法来实现它.
+ (NSString*) serializeDeviceToken:(NSData*) deviceToken
{
NSMutableString *str = [NSMutableString stringWithCapacity:64];
int length = [deviceToken length];
char *bytes = malloc(sizeof(char) * length);
[deviceToken getBytes:bytes length:length];
for (int i = 0; i < length; i++)
{
[str appendFormat:@"%02.2hhX", bytes[i]];
}
free(bytes);
return str;
}
Run Code Online (Sandbox Code Playgroud) 我想在服务器端的meteor应用程序中获取用户IP地址,这样我就可以用一堆东西记录IP地址(例如:订阅邮件列表的非注册用户,或者只是做任何事情重要的).
我知道当涉及反向代理时,服务器"看到"的IP地址可能与实际源地址不同.在这种情况下,X-Forwarded-For应解析标头以获取用户的真实公共IP地址.请注意,解析X-Forwarded-For不应该是自动的(有关潜在安全问题的讨论,请参阅http://www.openinfo.co.uk/apache/index.html).
当您调用“内置”钩子之一时,该react-hooks/exhaustive-deps规则足够智能,可以识别出 React 保证某些返回值是不变的。useState这是由和钩子返回的状态更新器和调度器的情况useReducer。
在第一个示例中,调用useCallback不需要将状态设置器列为依赖项:
export const Example1 = () => {
const [date, setDate] = useState(new Date())
const resetDate = useCallback(() => {
setDate(new Date())
}, []) // No need to list any dependency here. No eslint warning.
return (
<>
Date: {date.toISOString()} <button onClick={resetDate}>Reset</button>
</>
)
}
Run Code Online (Sandbox Code Playgroud)
但在第二个示例中,setter 由自定义挂钩返回,这是必需的。
const useDateState = (initialValue: Date) => {
return useState(initialValue)
}
export const Example2 = () => {
const [date, setDate] = useDateState(new …Run Code Online (Sandbox Code Playgroud)