小编mam*_*mcx的帖子

如何从类的实例调用方法?

-(NSDictionary *)properties;
+(NSDictionary *)ClassProperties;
Run Code Online (Sandbox Code Playgroud)

现在,我如何从子类调用ClassProperties?

-(NSDictionary *)properties {
    return [? ClassProperties];
}
Run Code Online (Sandbox Code Playgroud)

关键是ClassProperties获取类中的属性列表,因此我无法调用基类定义.

objective-c

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

TypeError:writelines()参数必须是一个字符串序列

尝试将异常重定向到STDERR时,我有一个奇怪的错误.

我有一个脚本用于加载几个"插件",作为主要入门程序.插件可以实现连接数据库,解析文本数据,连接Web服务等...

是这样的:

   try:
        Run plugins here...
        #All was ok!
        print "Ok!"
        sys.exit(0)
    except Exception,e:
        sys.stderr.writelines([unicode(e),u'\n',u'\n'])

        traceback.print_exc(file=sys.stderr)
        sys.exit(-1)
Run Code Online (Sandbox Code Playgroud)

这是在命令行中执行的,有时我会收到错误:

TypeError: writelines() argument must be a sequence of strings
Run Code Online (Sandbox Code Playgroud)

我不知道在这个地球上,Exception是不是在这里作为字符串返回的.

python exception-handling

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

如何在Firemonkey中像iOS中那样滑动控件?

我在表单中有一个控件。当事件发生时,它会在其顶部显示另一个控件,然后它消失并显示第一个控件。

我希望有一个像iOS中常见的平滑“滑入/滑出”动画,而不是出现/消失。

我看到firemonkey具有一些动画组件,但是不知道如何使用它们。

delphi delphi-xe2 firemonkey

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

DBX错误:使用OmniThreadLibrary时无法正确初始化驱动程序(但是不然)

我需要在后台完成一个长时间运行的任务.我正在使用OmniThreadLibrary跳跃这可以帮助我.

我使用dbexpress + mssql驱动程序.我可以在主线程中连接好,但得到:

项目Project1.exe引发了异常类TDBXError,消息为"DBX错误:驱动程序无法正确初始化".客户端库可能丢失,安装不正确,版本错误,或者系统路径中可能缺少驱动程序.

连接是在每个线程中创建的,而不是共享数据模块:

type
  TdbManager = class(TObject)
  private
    { private declarations }
    FCon: TSQLConnection;
  public
    { public declarations }
    procedure Open(Driver:String; aparams:TStringList);overload;
    procedure Close;

    constructor Create;
    destructor Destroy;override;
  end;

  constructor TdbManager.Create;
begin
  inherited Create;
  FCon := TSQLConnection.Create(nil);
end;

procedure TdbManager.Open(Driver: String; aparams: TStringList);
var
  i: Integer;
  key:string;
begin
  FCon.DriverName := Driver;

  for i := 0 to params.Count - 1 do
  begin
    key := params.Names[i];
    FCon.Params.Values[key] := params.Values[key];
  end;

  LogMsg('Open DB '+ Driver + ': ' …
Run Code Online (Sandbox Code Playgroud)

delphi multithreading dbexpress delphi-xe2

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

如何使用Vue对全局变量作出反应?

我有一个移动Web视图,其中注入了一些全局配置对象:

Vue.prototype.$configServer = {
  MODE: "DEBUG",
  isMobile: false,
  injected: false,
  version: -1,
  title:"App",
  user: null,
  host: "http://127.0.0.1:8080"
}
Run Code Online (Sandbox Code Playgroud)

后来,WebView将其注入:

Vue.prototype.$configServer = {
  MODE: "DEBUG",
  title: "App",
  version: "2.0",
  isMobile: true,
  injected: true,
  host: "http://127.0.0.1:8081"
}
Run Code Online (Sandbox Code Playgroud)

并尝试将其用于组件:

const HomePage = {
  key: 'HomePage',
  template: '#HomePage',
  components: { toolbar },
  data() {
    return {
      items: [
        {name:"Login", link:"login"},
      ]
    }
  },
  computed:{
    config() {
      return Vue.prototype.$configServer
    }
  },
};
Run Code Online (Sandbox Code Playgroud)

但是,该页面未更新。如何应对变化?

PD:我确认使用Safari调试工具更新了对象。还要在本地html中测试。

javascript uiwebview ios vue.js

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

如何使用 vue 和 vue-router 保留路由之间的某些状态

我有一个导航流程,其中包括

SearchPage -> ...Others or SearchPage -> ...Others or SearchPage ->
Run Code Online (Sandbox Code Playgroud)

并希望在返回时保留搜索字符串。

<template id="ListCustomersPage">
<q-layout>
  <q-layout-header>
    <toolbar :title="title" :action="doCreate" label="New"></toolbar>
    <q-search inverted placeholder="Type Name, Code, Nit, Phone Number or Email" float-label="Search" v-model="search" />
    <q-btn icon="search" color="secondary" @click="doSearch" />
  </q-layout-header>
</q-layout>
</template>
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当用户可以导航到其他地方时,如何将查询堆栈与路由器之一关联起来。

PD 全部位于一个页面中。如果可能的话,保留屏幕而不刷新它们(但仅适用于搜索页面,直到弹出回来)会更好。

vue.js vue-router quasar-framework

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

如何使用关系数据库作为基于文档的数据库?

为了制作一个文档管理系统,我正在查看像MongoDB这样的文档存储,但是由于我对常规数据库(Firebird,Sql Server,Mysql)有更多的经验,我想知道是否有可能将文档存储在关系数据库之上.

关于文档存储的优点,架构较少:

  • 适合存储有关文件的任意元数据的任务
  • 无需升级架构
  • 根据mongodb,BLOB的优秀表现就像视频一样
  • 更易于扩展

但是有一个关系:

  • 参考完整性
  • 更好的工具
  • 更安静的崩溃和腐败
  • SQL

那么,在这种情况下如何处理关系数据库呢?

mysql architecture firebird database-design nosql

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

它的__NSDictionaryM是什么.为什么NSStringFromClass不返回NSMutableDictionary?

我得到了一些我无法得到的奇怪的东西.我正在使用第三方控件(https://github.com/brunow/TableKit.m),它可以:

+ (NSSet *)cellMappingsForObject:(id)object mappings:(NSDictionary *)mappings {
    NSString *objectStringName = NSStringFromClass([object class]);
    return [mappings objectForKey:objectStringName];
}
Run Code Online (Sandbox Code Playgroud)

它创建了一个基于类名称的映射:

[TKCellMapping mappingForObjectClass:[NSMutableDictionary class] block:^(TKCellMapping *cellMapping) {
//CODE
}];
Run Code Online (Sandbox Code Playgroud)

它根据映射检查数据源对象.这些对象是为我构建的:

while ([rs next]) {
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

    for (NSString *fieldName in [props allKeys]) {
        //CODE                
        [dict setValue:fieldValue forKey:fieldName];
    }
    [list addObject :dict]; //<--This is the datasource. The map is against each dict
}
Run Code Online (Sandbox Code Playgroud)

所以,我告诉它的每一个地方NSMutableDictionary.但后来发生这种奇怪的事情.

当它打电话NSStringFromClass([NSMutableDictionary class])说它NSMutableDictionary但是当它NSStringFromClass([rowDict class])叫它时说__NSDictionaryM!

为什么会这样?我检查标题__NSDictionaryM和Xcode导航到 …

objective-c nsmutabledictionary

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

当iOS应用程序进入后台时,如何获取推送事件?

我需要从推送器获取触发的事件,当应用程序进入后台时我不会得到它们(只有第一个).

我有这个:

@property(strong, nonatomic) PTPusherPresenceChannel *taxi_channel;

PTPusherPresenceChannel *taxi = [PusherController sharedApp].taxi_channel;

- (void)viewDidLoad

@weakify(self);

[taxi bindToEventNamed:@"client-driver-cancel-service" handleWithBlock:^(PTPusherEvent *event)
 {
     DDLogDebug(@"%@: %@", event.name, event.data);
     @strongify(self);

     [self cancelServiceAcepted];
 }];
Run Code Online (Sandbox Code Playgroud)

问题是我在进入后台时会遇到一个事件,但是在第一次事件发生之后我就再也没有了.

我已经在https://github.com/pusher/pusher-test-iOS/blob/master/Diagnostics/Code/ClientDisconnectionHandler.h上实现了代码.

如果应用程序走到前台它可以正常工作.

background pusher ios7

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

如何将任何记录转换为F#中的地图/字典?

我需要将任意记录序列化为地图/字典.

我想我的最终类型看起来像这样:

type TabularData= array<Map<string, obj>>
Run Code Online (Sandbox Code Playgroud)

但是我在构建一个接受任何记录并将它们转换为Map 的泛型函数时遇到了问题.

f# dictionary record converter

0
推荐指数
1
解决办法
774
查看次数

如何对迭代器排序而不将其全部放入向量中?

我正在构建一个类似于生成器的通用接口,该生成器将数据从一个流传输到另一个流,以最终完成以下操作:

file |> toCsv |> filter |> sort |> filter...
Run Code Online (Sandbox Code Playgroud)

我知道如何对向量/片段进行排序,但是如何将传入的流/迭代器排序而不将其全部放入向量中?

stream.iter().collect_sorted()
Run Code Online (Sandbox Code Playgroud)

我需要融合向量,树,文件,数据库等,因此有时我不知道全部消耗不知道传入数据的大小。

我不反对存储结果。问题是排序与切片/向量有关。我需要能够:

stream.iter().collect_sorted()
Run Code Online (Sandbox Code Playgroud)

代替:

datasource |> Algo.sort |> next...
Run Code Online (Sandbox Code Playgroud)

针对不同的用例存在不同的排序算法,因此最终我希望对现有数据应用最好的排序方法:

let data = datasource |> into_vec
data.sort()
data |> next...
Run Code Online (Sandbox Code Playgroud)

sorting generator rust

0
推荐指数
1
解决办法
983
查看次数