我正在尝试使用链接ws://link.net:8888/ws?token =创建与Web套接字的连接,以打开与服务器的通信.
我发现我可以使用Stream,但我不知道如何将access_token添加到最后.
Stream.getStreamsToHost(withName: host, port: port, inputStream: &inputStream, outputStream: &outputStream)
if inputStream != nil && outputStream != nil {
// Set delegate
inputStream!.delegate = self
outputStream!.delegate = self
// Schedule
inputStream!.schedule(in: .main, forMode: RunLoopMode.defaultRunLoopMode)
outputStream!.schedule(in: .main, forMode: RunLoopMode.defaultRunLoopMode)
print("Start open()")
// Open!
inputStream!.open()
outputStream!.open()
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,即使我尝试连接到没有访问密钥的链接,我也不成功.那么有没有人有办法如何打开连接到添加access_key的套接字我会非常感激?
我也尝试过https://github.com/swiftsocket/SwiftSocket,但它也没有选项可以添加任何东西,我现在唯一能尝试的是https://github.com/socketio/socket. io-client-swift.
EDIT1:所以在Dan Karbayev的评论之后我用代码检查了Starscream
let url = "ws://link.net:5000/ws?token=token"
let socket = WebSocket(url: URL(string: url)!)
socket.onConnect = {
print("websocket is connected")
}
//websocketDidDisconnect
socket.onDisconnect = { (error: Error?) in
print("websocket …Run Code Online (Sandbox Code Playgroud) 我创建了一个带有一些字符串值的数字选择器。
public void setValues() {
boolean defaultAvaliable = false;
int defaultRow = 0;
String[] values = new String[pickValues.size()];
for (int i = 0; i < pickValues.size(); i++) {
if (pickValues.get(i).equals("01:00")) {
defaultAvaliable = true;
defaultRow = i;
}
values[i] = pickValues.get(i);
}
timePicker.setMaxValue(values.length - 1);
timePicker.setMinValue(0);
timePicker.setWrapSelectorWheel(false);
timePicker.setDisplayedValues(values);
if (defaultAvaliable) {
timePicker.setValue(defaultRow);
}
}
Run Code Online (Sandbox Code Playgroud)
当我滚动到边缘值(第一个或最后一个)时,选择器首先以一种奇怪的、不平滑的方式跳转到该项目,然后当我尝试返回其他值时它不会滚动。选择器在边缘值上出现故障,一段时间后它最终返回。在某种程度上,我似乎会滚动边缘值,它需要一些滚动才能返回。
有没有其他人遇到过这个问题,或者有没有人有任何建议要检查什么?
编辑 1:
所以我必须指出我知道问题是当我在我的数字选择器中更改字体大小时,不知道为什么。一旦我将字体大小设置为 39 以上,它就会开始卡在第一个和最后一个项目上。
private void updateView(View view) {
if(view instanceof EditText){
((EditText) view).setTextSize(39);
((EditText) view).setTextColor(getResources().getColor(R.color.mp_white));
((EditText) view).setFocusable(false);
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道行大小是多少?或者,如果我必须更改它的大小,以便它正确检测滚动?
我尝试在网络视图中使用react-native-orientation,使其成为唯一可以旋转的视图。
import React, {useEffect} from 'react';
import { WebView } from 'react-native-webview';
import Orientation from "react-native-orientation"
export function GameWebViewScreen({navigation}) {
const link = ****
useEffect(() => {
Orientation.unlockAllOrientations();
}, [])
return <WebView source={{uri: link}}/>
}
Run Code Online (Sandbox Code Playgroud)
我在 unlockAllOrientations 调用中收到 TypeError: null in not an object 。有谁知道这是一个问题,因为我还没有按照此处的说明中的说明配置本机文件,因为我还没有访问它们的权限?
我也尝试使用类组件并得到相同的结果。
我也欢迎有关控制单个视图旋转的库的任何其他建议。
我刚刚更新以响应本机导航版本 5。现在我尝试在 goBack() 调用上将数据发送回上一个屏幕。
我推动下一个视图
const onSelectCountry = item => {
console.log(item);
};
navigation.navigate('SelectionScreen', {
onSelect: onSelectCountry});
Run Code Online (Sandbox Code Playgroud)
并在通过调用从 FlatList 选择项目后返回:
function onSelectedItem(item) {
route.params.onSelect(item);
navigation.goBack();
}
Run Code Online (Sandbox Code Playgroud)
但是通过使用参数发送函数,我收到警告:在导航状态中发现不可序列化的值...
有人可以告诉我正确的方法吗?
javascript typescript react-native react-native-navigation react-navigation
所以我有Realm对象
class RegistrationPlateDB: RLMObject {
dynamic var registrationPlate : String = ""
dynamic var user : String = ""
override static func primaryKey() -> String? {
return "registrationPlate"
} ...
Run Code Online (Sandbox Code Playgroud)
并希望将其更改为
class RegistrationPlateDB: Object {
dynamic var plateID : Int = -1
dynamic var registrationPlate : String = ""
dynamic var name : String = ""
dynamic var user : String = ""
override static func primaryKey() -> String? {
return "plateID"
} ....
Run Code Online (Sandbox Code Playgroud)
所以我写了一个迁移
migration.enumerate(RegistrationPlateDB.className()) { oldObject, newObject in …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用rlmarray创建rlmobject作为elemnts之一,但无法让它工作.
宣言:
dynamic var contactInfo : RLMArray = RLMArray(objectClassName: "ContactInfoDB")
Run Code Online (Sandbox Code Playgroud)
和插入:
tempLocation.contactInfo.addObject(tc)
Run Code Online (Sandbox Code Playgroud)
其中tc是
class ContactInfoDB: RLMObject
Run Code Online (Sandbox Code Playgroud)
但不知何故,添加数组后仍然是空的.有没有其他方法将对象插入到rlmarray中使用swift使用realm作为目标c,因为我需要它在iOS7中也可以工作.
感谢您的任何帮助.
swift ×3
ios ×2
react-native ×2
realm ×2
typescript ×2
android ×1
java ×1
javascript ×1
migration ×1
numberpicker ×1
rotation ×1
websocket ×1