小编sar*_*ata的帖子

将NSData序列化为十六进制字符串的最佳方法

我正在寻找一种很好的可可方式将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)

iphone notifications nsdata

99
推荐指数
6
解决办法
5万
查看次数

如何获取Meteor服务器中的用户IP地址?

我想在服务器端的meteor应用程序中获取用户IP地址,这样我就可以用一堆东西记录IP地址(例如:订阅邮件列表的非注册用户,或者只是做任何事情重要的).

我知道当涉及反向代理时,服务器"看到"的IP地址可能与实际源地址不同.在这种情况下,X-Forwarded-For应解析标头以获取用户的真实公共IP地址.请注意,解析X-Forwarded-For不应该是自动的(有关潜在安全问题的讨论,请参阅http://www.openinfo.co.uk/apache/index.html).

外部参考:这个问题出现在2012年8月流星谈话邮件列表中(没有提供解决方案).

meteor

26
推荐指数
1
解决办法
1万
查看次数

如何让eslint的react-hooks/exhaustive-deps规则知道自定义hooks的返回值是不变的?

当您调用“内置”钩子之一时,该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)

reactjs eslint react-hooks eslint-plugin-react-hooks

5
推荐指数
0
解决办法
635
查看次数