Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用textfield在套接字中设置IP_Ios_Objective C_Sockets - Fatal编程技术网

Ios 如何使用textfield在套接字中设置IP

Ios 如何使用textfield在套接字中设置IP,ios,objective-c,sockets,Ios,Objective C,Sockets,我有一个Socket的程序,它原来在这个程序里面都是预写的程序IP里面,现在代码如下: CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)@"ip address", port, &readStream, &writeStream); 这只能是一个固定的IP地址,如果我想更改textfield输入IP的使用。 我有两个viewcontroller分别是socketView和setViewcontroll

我有一个Socket的程序,它原来在这个程序里面都是预写的程序IP里面,现在代码如下:

CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)@"ip address", port, &readStream, &writeStream);
这只能是一个固定的IP地址,如果我想更改textfield输入IP的使用。 我有两个
viewcontroller
分别是
socketView
setViewcontroller
textfield
放置在
setViewcontroller
socketView
进程是使用套接字。 将
textfield
的值转换为
NSString

NSString *ip = TxtIP.text;
我的想法是在
socketView.m

NSString *dstAddress; 
-(void) initNetworkCommunication{
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)dstAddress, 8080, &readStream, &writeStream);
inputStream = ( NSInputStream *)CFBridgingRelease(readStream);
outputStream = ( NSOutputStream *) CFBridgingRelease(writeStream);

[inputStream setDelegate:self];
[outputStream setDelegate:self];

[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];

[inputStream open];
[outputStream open];}
然后
setviewcontrolle.m
在内部设置
dstIP=TxtIP.text

但我知道这不是直接设置的,如何修改它?

我想我已经找到了解决问题的方法 我使用
NSUserDefaults
存储
textfield
值:

NSString *IPaddress = [textfield text];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:IPaddress forKey:@"IPaddress"];
[defaults synchronize];
然后
SocketView
阅读:

NSString *dstAddress;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *IPaddress = [defaults objectForKey:@"IPaddress"];
dstAddress=IPaddress;

我想我找到了解决问题的方法 我使用
NSUserDefaults
存储
textfield
值:

NSString *IPaddress = [textfield text];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:IPaddress forKey:@"IPaddress"];
[defaults synchronize];
然后
SocketView
阅读:

NSString *dstAddress;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *IPaddress = [defaults objectForKey:@"IPaddress"];
dstAddress=IPaddress;