Swift

Swift:今さらながら、こういう構成でないといけないとは。

ここまで来て、英語と日本語の両方の言語対応がちゃんとできているか確認したら、あれあれ、という感じでした。

勘違いや不合理なアルゴリズムのまちがいは仕方ないとしても、ああ、これは確かにまずいという間違いは困りものです。

Objective-CもSwiftも、クラスやメソッドは機能的に完全な独立性を保障した構造にしないといけません。この基本中の基本を無視してしまうと、大変な目にあいます。わかっているけど、ついつい体が動いてしまいました。

多くのパラメタを渡したいなら、構造体で渡すしかありません。最初にここをしっかり勉強しておくべきでした。やれやれ。

今からでも遅くないので、気を取り直して勉強します。ただし、今回の被害は最小限ですみました。

追記:調べた範囲では、自分が想定するようなパラメタ渡しができないことがわかりました。パラメタや変数をNSMutableArrayで定義して返り値も同じ変数を指定すれば、想定することができそうな気がします。試すのはこの次のアプリを書くときになります。次がそのイメージ。

var ParmTable:NSMutableArray = []
let inputFilepaht:Int = 0
let inputFilepathState:Int = 0
……….
ParmTable[inputFilepaht] = “/hk/homefile”
ParmTable = CallDeleteFile(ParmTable)
……….

func CallDeleteFile(parmTable:NSMutableArray) -> rparmTable:NSMutableArray {

let filepath:String = ParmTable[inputFilepaht] as! String
……….
return parmTable
}

  • NSMutableArrayで変数を定義数する。
  • ここの変数はインデックスに名前をつけ、これで修飾する。
  • 現時点では必要かどうかわからないが、文字列と整数で何らかの仕分けをする。
  • 配列は後半、もしくは別の変数で定義する。

Categories: Swift, 技術