假设我已经将c ++函数与objective-c成员结合起来了。
该函数获取import React from 'react';
import ReactDOM from 'react-dom';
import CodeMirror from 'react-codemirror'
var createReactClass = require('create-react-class');
require('codemirror/lib/codemirror.css');
var axios = require('axios');
var App = createReactClass({
getInitialState: function() {
return {
code: getRepos(),
};
},
updateCode: function(newCode) {
this.setState({
code: newCode,
});
},
render: function() {
var options = {
lineNumbers: true,
styleSelectedText: true,
};
return <CodeMirror value={this.state.code.toString()} onChange={this.updateCode} options={options} />
}
});
async function getRepos(){
var code = await axios.get('https://api.github.com/repos/<.java file>',
{headers: {
"Accept" : "application/vnd.github.VERSION.raw"
}
})
.then(response => {
var codeq = response.data;
return codeq;
});
console.log(code);
return code;
}
ReactDOM.render(<App/>, document.getElementById('root'));
并将其转换为std::string
,并在离开前使用此变量...
我是否希望在NSstring*
范围结束时发布NSstring*
?
autoreleasepool
答案 0 :(得分:0)
不,你不需要。根据规则,如果要通过以下方式之一增加其保留计数,则只需释放变量:
如果你以任何方式获得变量但是上面提到的方式,你不拥有它,因此你不需要释放它。
通过[NSString stringWithUTF8String:path.c_str()]
返回的字符串是自动释放的字符串。一旦当前的runloop完成,它将被释放。所以你不需要发布它。