小编Rya*_*yan的帖子

iOS上的城市名称的电话区号

在Apple的内置语音邮件应用程序中,当它找到一个在地址簿中无法识别的电话号码时,它会显示该号码下的大致位置,可能是基于电话号码.他们是怎么做到的??我猜在手机上有一个庞大的区号和交换号码数据库,每个数据库都映射到一个城市或地区名称.有谁知道应用程序是否可以通过公共API访问此映射?

有很多用于将邮政编码映射到城市的样板代码,但我看不到区域代码/交换的情况也是如此.有任何想法吗?

iphone objective-c voicemail area ios

5
推荐指数
1
解决办法
1870
查看次数

Clang:麻烦使用bind或mem_fn与string :: c_str和transform

试图将std :: string的向量转换为const char*的向量:

#include <algorithm>
#include <functional>
#include <string>
#include <vector>

int main(int argc, char** argv)
{
    std::vector<std::string> values;
    values.push_back("test1");
    values.push_back("test2");
    values.push_back("test3");

    std::vector<const char*> c_values(values.size());

    std::transform(values.begin(), values.end(), c_values.begin(), std::mem_fn(&std::string::c_str));
    std::transform(values.begin(), values.end(), c_values.begin(), std::bind(&std::string::c_str, std::placeholders::_1));
    std::transform(values.begin(), values.end(), c_values.begin(), [](const std::string& str) { return str.c_str(); });

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

使用g ++(4.7.2)进行编译时,所有三个选项都可以编译和链接.使用clang进行编译时,选项1和2无法链接,生成:

$ clang -std=c++11 -stdlib=libc++ -lc++ stringtransform.cpp 
Undefined symbols for architecture x86_64:
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::c_str() const", referenced from:
    _main in stringtransform-ff30c1.o
ld: symbol(s) not found for architecture x86_64
Run Code Online (Sandbox Code Playgroud)

我发现我需要使用lambda版本(选项3),如果我希望它使用g ++和clang在平台之间正确链接.我是否遇到了链接器错误或者clang的C++ …

c++ lambda stdbind c++11 libc++

5
推荐指数
1
解决办法
556
查看次数

如何反序列化 JSON 数组并将结果对象绑定到 WPF DataGrid?

给定一个包含两个数组的 JSON 文件(假设一个名为“people”,一个名为“places”):

{
    "people": [{
        "name": "Adam",
        "age": 24
    }, {
        "name": "Bill",
        "age": 26
    }, {
        "name": "Charlie",
        "age": 28
    }],
    "places": [{
        "city": "San Francisco",
        "population": 850000
    }, {
        "city": "New York",
        "population": 8400000
    }, {
        "city": "Chicago",
        "population": 2700000
    }]
}
Run Code Online (Sandbox Code Playgroud)

我从磁盘加载该数据并使用 JSON.NET 反序列化 JSON:

using (var sr = new StreamReader(path))
{
    var json = sr.ReadToEnd();
    _content = JsonConvert.DeserializeObject(json);
}
Run Code Online (Sandbox Code Playgroud)

其中 _content 是声明为动态的实例变量。解析后,这最终包含一个类型的值System.Collections.Generic.Dictionary<string, object>。现在,我想在两个 DataGrid 中显示这些数据:

<DockPanel>
    <DataGrid x:Name="leftPane" DockPanel.Dock="Left">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Name"/>
            <DataGridTextColumn …
Run Code Online (Sandbox Code Playgroud)

c# wpf serialization datagrid json

5
推荐指数
1
解决办法
2495
查看次数

标签 统计

area ×1

c# ×1

c++ ×1

c++11 ×1

datagrid ×1

ios ×1

iphone ×1

json ×1

lambda ×1

libc++ ×1

objective-c ×1

serialization ×1

stdbind ×1

voicemail ×1

wpf ×1