小编cha*_*yWu的帖子

NSMutableDictionary KVO

我正在尝试使用KVO观察字典中的变化.

例:

dictionary = [NSMutableDictionary new];
[dictionary setObject:@"test1" forKey:@"key1"];
[dictionary setObject:@"test2" forKey:@"key2"];    
[dictionary setObject:@"test3" forKey:@"key1"];
Run Code Online (Sandbox Code Playgroud)

我希望无论何时将值添加到字典中,都能够挂钩观察者.删除或替换(即在上述情况下,无论何时调用任何setObject方法)

总而言之:我想要一个功能

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
Run Code Online (Sandbox Code Playgroud)

当我向字典添加任何新条目,或删除任何条目,或者替换任何条目时调用.

NOT:我不想指定我正在观察的键.(例如,仅在添加@"key1"时观察),因为此解决方案无法缩放.

objective-c key-value-observing

5
推荐指数
2
解决办法
6991
查看次数

如何禁用屏幕镜像?

如何阻止应用程序进行屏幕镜像?当我检查FLAG_SECURE 时

窗口标志:将窗口内容视为安全内容,防止其出现在屏幕截图中或在非安全显示器上被查看。

从非安全显示器正被观看是阻止屏幕镜像?如果不是,那是什么意思?以及我们是否可以找到一些方法来阻止应用程序的屏幕镜像?

video android mirroring miracast

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

UITableView编辑缩进

我正在我的应用程序中使用我创建的自定义单元格构建一个非常简单的UITable.目标语言是希伯来语.这就是为什么我的所有表格都从右到左.一切正常,直到我将表格更改为编辑模式.我成功取消了删除和红色配件按钮,因为在反对的方向,但细胞得到这个小的缩进到右边,我的细胞的一部分没有显示.

我试过返回NO; 到功能

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath (NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

有什么建议 ?提前致谢

iphone uitableview

4
推荐指数
1
解决办法
4054
查看次数

如何确定是否启动应用程序以执行后台提取

当OS启动应用程序进行后台获取时,我观察到的序列就是这个

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Run Code Online (Sandbox Code Playgroud)

然后

-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
Run Code Online (Sandbox Code Playgroud)

didFinishLaunching我试图确定是否启动应用程序进行后台提取,因为我需要禁用一些功能来加速应用程序加载.UIApplication不公开任何属性来确定这一点.

我注意到UIApplication_applicationFlags哪个isHandlingBackgroundContentFetchboolean对于Background Fetch设置为true但是它的@package内部并且无法访问.

iphone objective-c ios ios7 xcode5

4
推荐指数
1
解决办法
1482
查看次数

如何在Django视图中使用ajax POST解析json数据

我正在尝试在 Django 视图中解析 json 数据。但是我遇到了问题。

我正在使用下面的代码片段。

$(document).ready(function(){
    $("#mySelect").change(function(){
        selected = $("#mySelect option:selected").text()
        $.ajax({
            type: 'POST',
            dataType: 'json',
            contentType: 'application/json; charset=utf-8',
            url: '/test/jsontest/',
            data: {
                   'fruit': selected,
                  },
            success: function(result) {
                    document.write(result)
                    }
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

当客户端用户更改值时,ajax 代码发送 json 数据。但是服务器端视图以“fruit=apple”的形式接收数据。我认为这不是json数据格式。所以,我不知道如何解析数据。

我尝试如下解析,但在调用 json.dumps(data) 后出现 500 Internal server error

class JsonRead(View):
    template_name = 'MW_Etc/jsonpost.html'
    def get(self,request):
        return render(request, self.template_name)

    def post(self,request):
        data = request.body
        logger.debug('json data received(%s)' % data)
        return HttpResponse(json.dumps(data), content_type='application/json')
Run Code Online (Sandbox Code Playgroud)

python django ajax jquery json

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

iOS中的NSCachesDirectory和NSDownloadsDirectory有什么区别?

我想将下载的杂志保存到我的iOS应用程序中的一个目录中.这似乎 NSCachesDirectoryNSDownloadsDirectory适用.我不知道它们之间的区别,哪一个适合下载杂志.任何建议表示赞赏.

iphone ipad ios

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

为什么self.view.frame和self.view.bounds在设备旋转时有所不同?

我希望在设备旋转时进行一些布局更改.所以我实现了- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration方法来完成工作.但我意识到这个方法被称为self.view.frame和self.view.bounds是不同的.self.view.bounds.size是正确的,self.view.frame.size似乎仍然没有旋转.

例如,我创建了一个空的singleView项目并实现了如下方法:

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    NSLog(@"willAnimateRotationToInterfaceOrientation");

    NSLog(@"self.view.bounds.size width:%f height:%f ",self.view.bounds.size.width,self.view.bounds.size.height);
    NSLog(@"self.view.frame.size width:%f height:%f",self.view.frame.size.width,self.view.frame.size.height);

}
Run Code Online (Sandbox Code Playgroud)

当设备从纵向旋转到横向时.输出如下:

2013-06-11 11:57:46.959 viewDemo[95658:707] willAnimateRotationToInterfaceOrientation
2013-06-11 11:57:46.961 viewDemo[95658:707] self.view.bounds.size width:1024.000000 height:748.000000 
2013-06-11 11:57:46.961 viewDemo[95658:707] self.view.frame.size width:748.000000 height:1024.000000
Run Code Online (Sandbox Code Playgroud)

我想知道为什么这些尺寸不同?它们不应该总是一样的吗?什么时候选择使用哪一个?

任何帮助将不胜感激.

uiviewcontroller uiview ios

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

如何使用GCDAsyncUdpSocket在局域网中广播?

我想通过GCDAsyncUdpSocket发现是否有一个服务器正在侦听具有未知IP地址的LAN中的特定端口.我将在局域网中广播一些消息,如果服务器存在,它将反馈消息,然后我将知道服务器的IP地址.

现在我尝试使用以下代码来完成工作:

udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];

if (![udpSocket bindToPort:18686 error:&error])
{
    [self logError:FORMAT(@"Error binding: %@", error)];
    return;
}

if (![udpSocket beginReceiving:&error])
{
    [self logError:FORMAT(@"Error receiving: %@", error)];
    return;
}

NSString *host = @"192.168.2.139"; // server IP i know
int port = 8585;
NSString *message = @"Hello";
NSData *data = [msg dataUsingEncoding:NSUTF8StringEncoding];
[udpSocket sendData:data toHost:host port:port withTimeout:-1 tag:tag];
Run Code Online (Sandbox Code Playgroud)

如果我将主机IP设置为服务器IP,它可以,服务器将响应.但我想广播找到服务器IP,我尝试使用"192.168.2.0","192.168.2.1","192.168.2.255","255.255.255.255",以上所有地址都不能广播.

我想知道哪个IP地址可用于在192.168.2.*中在LAN中广播,如果不知道LAN IP域,那么要广播哪个IP地址?任何帮助将不胜感激.

iphone networking broadcast ios

3
推荐指数
1
解决办法
2414
查看次数

Maximize Size of UITabBarItem image

I would like to create a custom UITabBarItem with a Icon-image thats size is a little bit bigger than usual. The thing is I don't want to use a full replace of the background image because i would like to have the translucent effect of the TabBar.

So i would like to know 2 things:

  1. What sizes are now correct for the new iOS7 UITabBarItems and their icons

  2. How do I modify the size of the icon to display a …

objective-c uitabbarcontroller uitabbaritem ios ios7

3
推荐指数
1
解决办法
5821
查看次数

在已排序的双向链接列表中插入节点

我无法弄清楚,为什么我的代码插入到排序的双链表中的某些测试用例失败.请让我知道.我不知道测试用例,它们是系统生成的.

Node* SortedInsert(Node *head,int data)
{
    // Complete this function
    // Do not write the main method.
    Node * temp = (Node*)malloc(sizeof(Node));
    temp->data = data;
    temp->next = NULL;
    temp->prev = NULL;
    if (head == NULL)
    {
        head = temp;
        return head;
    }

    if (temp->data <= head->data)
    {
        temp->next = head;
        head->prev = temp;
        head = temp;
        return head;
    }

    Node *curr = head;
    while (curr->next!=NULL)
    {
        if (temp->data <= curr->data)
        {   
            curr->prev->next = temp;
            temp->prev = curr->prev;
            temp->next = curr; …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm

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