小编ste*_*her的帖子

从iOS7中的UINavigationController切换到弹出窗口时查看控制器生命周期

iOS 7新的刷卡到手势的姿势对视图控制器生命周期的影响是UINavigationController什么?

lifecycle uinavigationcontroller uigesturerecognizer ios7

26
推荐指数
2
解决办法
6933
查看次数

babel-preset-es2015中指定的插件0提供了_c的无效属性

通过以下配置获得上述错误,注释passPerPreset会删除错误.有没有配置丢失?

.babelrc:

{
  "passPerPreset": true,
  "presets": [{
      "plugins": [
        "./build/babelRelayPlugin",
        "transform-runtime",
        "transform-es2015-classes"
      ]
    }, "es2015", "stage-0", "react"],
  "env": {
     "development": {
      "presets": ["react-hmre"]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

package.json:

"babel-cli": "^6.5.1",
"babel-core": "^6.5.2",
"babel-eslint": "^4.1.8",
"babel-loader": "^6.2.2",
"babel-plugin-react-transform": "^2.0.0",
"babel-plugin-transform-es2015-classes": "^6.5.2",
"babel-plugin-transform-runtime": "^6.5.2",
"babel-polyfill": "^6.5.0",
"babel-preset-es2015": "^6.5.0",
"babel-preset-react": "^6.5.0",
"babel-preset-react-hmre": "^1.1.0",
"babel-preset-stage-0": "^6.5.0",
"babel-relay-plugin": "^0.7.0",
"babel-runtime": "^6.5.0",
Run Code Online (Sandbox Code Playgroud)

Webpack:

module: {
    loaders: [        
    {
      loader: "babel-loader",
      include: [
        path.resolve(__dirname, "app"),
      ],
      test: /\.jsx?$/,
      query: {
        plugins: ['transform-runtime'],
        presets: ['react', 'es2015', 'stage-0'],
      }
    }, …
Run Code Online (Sandbox Code Playgroud)

babeljs

13
推荐指数
3
解决办法
9354
查看次数

为什么Xcode不为id <protocol>类型的对象提供点标记属性的自动完成功能?

鉴于此协议定义:

@protocol MyProtocol <NSObject>
@property (nonatomic, strong) NSString *someProperty;
@end
Run Code Online (Sandbox Code Playgroud)

为什么Xcode很乐意为此声明提供自动完成功能:

id<MyProtocol> thing = [ThingManager currentThing];
[thing someProperty]; // Xcode offered autocompletion here
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用点符号访问相同的属性时,它不提供自动完成功能:

id<MyProtocol> thing = [ThingManager currentThing];
thing.someProperty; // Xcode claimed there were 
                    // "No completions" available
                    // after the period
Run Code Online (Sandbox Code Playgroud)

xcode objective-c

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

使用带有React-Native的Relay时的条件片段或嵌入的根容器

我一直在relay努力react-native,但我对如何最好地利用中继路由和根容器感到困惑,特别是在处理Navigator渲染多个路由时.

参加以下课程:

var Nav = React.createClass({

 renderScene(route, nav) {
   switch(route.id) {
     case 'first':
       return <First navigator={nav} />
     case 'second':
       return <Second navigator={nav} />
   }
 },

 render() {
   <Navigator
     initialRoute={{ id: 'first' }}
     renderScene={this.renderScene}
   />
 }

})


module.exports = Relay.createContainer(Nav, {   
  fragments: {
    viewer: () => Relay.QL`
      fragment on User {
        ${First.getFragment('viewer'},
        ${Second.getFragment('viewer'}
      }
    `   
  } 
})
Run Code Online (Sandbox Code Playgroud)

在我的父路由中,然后我请求User构建查询的片段.

问题是片段将包括由firstsecond组件定义的那些字段,即使一次只显示其中一个.

在这种情况下我应该:

1)Relay.RootContainerrenderScene回调中返回另一个?嵌入Relay.RootContainers彼此之间通常是个坏主意吗?

renderScene(route, nav) …
Run Code Online (Sandbox Code Playgroud)

react-native relayjs

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

Websocket bufferedAmount 进度条

我试图找到当我使用 Websocket 连接发送大文件(100MB+)时是否有办法显示加载状态(可能是进度条)。到目前为止我正在考虑bufferedAmount

我有这个代码

setInterval(function () {
  if (ws.bufferedAmount > 0)
      console.log(ws.bufferedAmount);
}, 50);
ws.send(file); //100MB file
Run Code Online (Sandbox Code Playgroud)

这仅打印到控制台一次,并且是确切的文件大小。ws.bufferedAmount不返回未发送的字节数?例如,如果发送了 10Mb,ws.bufferedAmount则应返回 90MB。

javascript websocket

6
推荐指数
0
解决办法
492
查看次数

"深度链接"到iOS应用的特定视图状态

假设您有一个导航视图控制器层次结构,如下所示:

A => B => C
Run Code Online (Sandbox Code Playgroud)

用户花费大部分时间B,C只有在他们轮到他们提供输入时跳过.

如果在应用程序背景化时轮到他们,他们会收到本地通知.点击本地通知直接进行C.

在我当前的实现中,当用户点击本地通知时,AppDelegate通过它接收它application:didReceiveLocalNotification:.然后它找到B并指示它转向C.

但是,如果应用程序已卸载,则无法使用.当用户最终对本地通知采取行动时,应用程序会通过本地通知接收它application:didFinishLaunchingWithOptions:,这意味着它必须一直重新启动A.

由于这个问题概括为一个关于"深度链接"到应用程序的特定状态的问题,我的问题是:

A => B => C鉴于应用程序的当前状态可能是什么,为了响应本地通知而采取"深度链接"的最佳策略是什么?

restore objective-c deep-linking ios uilocalnotification

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

无法设置未定义的属性"clientMutationId"

我收到了以下错误.当试图通过graphiql运行突变时.请帮我解决这个问题或指向一个链接,我可以找到反应中继突变的例子.

mutation {
  createUser(input: {username: "Hamza Khan", clientMutationId: ""}) {
    user {
      id
      username
    }
  }
}

{
  "data": {
    "createUser": null
  },
  "errors": [
    {
      "message": "Cannot set property 'clientMutationId' of undefined",
      "locations": [
        {
          "line": 17,
          "column": 2
        }
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

这是变异定义

import {
  GraphQLString,
  GraphQLInt,
  GraphQLFloat,
  GraphQLList,
  GraphQLObjectType,
  GraphQLID,
  GraphQLNonNull
} from 'graphql';

import {
  connectionArgs,
  connectionDefinitions,
  connectionFromArray,
  fromGlobalId,
  globalIdField,
  mutationWithClientMutationId,
  nodeDefinitions,
} from 'graphql-relay';

import {User} from './usermodel';
import {UserType} from './usertype';

export const …
Run Code Online (Sandbox Code Playgroud)

relayjs

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

当沿路径的对象可能发生变化时,观察keyPath是否安全?

如此实施KVO是否安全:

[self addObserver:self
       forKeyPath:@"restaurant.oldestOrder.patron.frustrationLevel"
          options:0 context:nil];
Run Code Online (Sandbox Code Playgroud)

...当你知道oldestOrder可能会改变或变为零时,以前oldestOrders可能会被取消分配?

objective-c key-value-observing

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