質問編集履歴

4

内容修正

2021/06/07 05:39

投稿

konnitiwa
konnitiwa

スコア1

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  SwiftとMySQLのデータ通信に関しての質問です。
4
4
 
5
- 目標としているアプリの機能なのですが、SwiftとMySQL(AWSRDS)用いたログイン機能とチャット機能(ユーザーの会員情報なども見れる)を実装したいと考えています。(FirebaseといったDBがあるのは存じていますが、今回はすでにWebアプリケーションとしてリリースしているサービスをiOSアプリ(ネイティブアプリ)としても作成したいという前提で考えています)
5
+ 目標としているアプリの機能なのですが、SwiftとMySQL(AWSRDS)用いたログイン機能とチャット機能(ユーザーの会員情報なども見れる)を実装したいと考えています。(FirebaseといったDBがあるのは存じていますが、今回はすでにWebアプリケーションとしてリリースしているサービスをiOSアプリ(ネイティブアプリ)としても作成したいという前提で考えていますのでMySQLを使用したいと思っています)
6
6
 
7
7
 
8
8
 

3

内容修正

2021/06/07 05:39

投稿

konnitiwa
konnitiwa

スコア1

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  調べたところ、まずSwiftとMySQLをやりとりするにはJSONのHTTP通信を使うのがいいということで、LaravelにてREST APIというものを作成し、Swift側でRDBの中身をJSON形式で取得することはなんとかできました。
10
10
 
11
- しかし、RDBデータ更新、またはデータのINSERT方法調べてもわからず困ってという状況です。
11
+ しかし、REST APIでいうStore,Update,DestroyなどメソッドをSwift側でどうやって扱うがわからいという状況です。
12
12
 
13
13
 
14
14
 
@@ -146,7 +146,7 @@
146
146
 
147
147
 
148
148
 
149
- 同じようなコード書き方でupdate,insertの処理をする方法はありますでしょうか。
149
+ 同じようなコード書き方でStore,Update,Destroy,などの処理をする方法はありますでしょうか。
150
150
 
151
151
  またはもっと効率の良い書き方があればご教示いただけますと幸いです。
152
152
 

2

コードの書き方変更

2021/06/07 05:38

投稿

konnitiwa
konnitiwa

スコア1

test CHANGED
File without changes
test CHANGED
@@ -24,13 +24,125 @@
24
24
 
25
25
  API処理呼び出しメソッド(URLは隠しています)
26
26
 
27
+ ```Swift
28
+
29
+ func api() {
30
+
31
+ let urlString = "http://??????????/api/member"
32
+
33
+ let encodeUrlString:String = urlString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!
34
+
35
+ userInfo.userDelegate = self
36
+
27
- ![イメージ説明](cb19538849932b425a194c8f6c9fcdcb.png)
37
+ userInfo.SetData(resultCount: 2, encodeUrlString: encodeUrlString)
38
+
39
+ }
40
+
41
+ ```
28
42
 
29
43
 
30
44
 
31
45
  API処理クラス
32
46
 
47
+ ```
48
+
49
+ import Foundation
50
+
51
+ import SwiftyJSON
52
+
53
+ import Alamofire
54
+
55
+
56
+
57
+ protocol UserInfoProtocol {
58
+
59
+ func catcheData()
60
+
61
+ }
62
+
63
+
64
+
65
+ class UserInfo {
66
+
67
+
68
+
69
+ var idArray = [Int]()
70
+
71
+ var nameArray = [String]()
72
+
73
+ var emailArray = [String]()
74
+
75
+ var passwordArray = [String]()
76
+
77
+ var updkbnArray = [String]()
78
+
79
+
80
+
81
+ var userDelegate:UserInfoProtocol?
82
+
83
+
84
+
33
- ![イメージ説明](d034b16c041a7bfce0619e3ad27980a0.png)
85
+ func SetData(resultCount:Int,encodeUrlString:String) {
86
+
87
+ AF.request(encodeUrlString, method: .get, parameters: nil, encoding: JSONEncoding.default).responseJSON { (response) in
88
+
89
+ // print(response.debugDescription)
90
+
91
+
92
+
93
+ switch response.result {
94
+
95
+
96
+
97
+ case .success:
98
+
99
+ do {
100
+
101
+ let json:JSON = try JSON(data: response.data!)
102
+
103
+ for i in 0...resultCount - 1 {
104
+
105
+ if json["data"][i]["name"].string == nil {
106
+
107
+ print("ヒットしませんでした")
108
+
109
+ return
110
+
111
+ }
112
+
113
+ self.idArray.append(json["data"][i]["id"].int!)
114
+
115
+ self.nameArray.append(json["data"][i]["name"].string!)
116
+
117
+ self.emailArray.append(json["data"][i]["email"].string!)
118
+
119
+ self.passwordArray.append(json["data"][i]["password"].string!)
120
+
121
+ self.updkbnArray.append(json["data"][i]["updkbn"].string!)
122
+
123
+ }
124
+
125
+ self.userDelegate?.catcheData()
126
+
127
+ } catch {
128
+
129
+ }
130
+
131
+ break
132
+
133
+ case .failure(_): break
134
+
135
+ }
136
+
137
+ }
138
+
139
+ }
140
+
141
+ }
142
+
143
+
144
+
145
+ ```
34
146
 
35
147
 
36
148
 

1

タグの追加

2021/06/07 04:36

投稿

konnitiwa
konnitiwa

スコア1

test CHANGED
File without changes
test CHANGED
File without changes