IOS中nsstring的问题

南瓜饼 2012-12-03 12:27:59
首先我在.h中这样写
#import <UIKit/UIKit.h>

@interface wenViewController : UIViewController{
NSString *key;

}

我在.m文件件中可以访问和修改key
第二种方法是在.h文件中这样写
#import <UIKit/UIKit.h>

@interface wenViewController : UIViewController{
NSString *key;

}
@property (nonatomic, retain) NSString *key;

这样2种写法都可以进行读写 又区别吗
...全文
131 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ch_984326013 2012-12-04
  • 打赏
  • 举报
回复
在Object-c中添加属性之前,程序员通常会定义一些方法用于设置和检索类得实例变量的值,这些方法称为访问方法和修改方法,亦可称为获取方法和设置方法(java中称为set和get方法)。但是@property声明可以让你告别枯燥乏味的访问方法和修改方法。我们在接口文件中键入的@property声明与实现文件(@synthesize)中的另一个声明相结合,就可以通知编译器在编译时创建获取方法和设置方法。
Snake_Jay 2012-12-04
  • 打赏
  • 举报
回复
JAVA中的成员变量与属性。
问答小助手 2012-12-04
  • 打赏
  • 举报
回复
proprety属于抽象概念,实体变量则是在结构中的存储槽,正常情况下,其他对象不能直接访问它们。而property是对象的属性,可以访问。此外,property可以返回或发送一个实体变量, 看下面的例子
@interface Person : NSObject {
    NSString *name;
}

    @property(copy) NSString *name;
    @property(copy) NSString *firstName;
    @property(copy) NSString *lastName;
@end

@implementation Person
    @synthesize name;

    - (NSString *)firstName {
        [[name componentsSeparatedByString:@" "] objectAtIndex:0];
    }
    - (NSString *)lastName {
        [[name componentsSeparatedByString:@" "] lastObject];
    }
    - (NSString *)setFirstName:(NSString *)newName {
        NSArray *nameArray = [name componentsSeparatedByString:@" "];
        NSArray *newNameArray [[NSArray arrayWithObjects:newName, nil] arrayByAddingObjectsFromArray:[nameArray subarrayWithRange:NSMakeRange(1, [nameArray size]-1)]];
        self.name = [newNameArray componentsJoinedByString:@" "];
    }
    - (NSString *)setLastName:(NSString *)newName {
        NSArray *nameArray = [name componentsSeparatedByString:@" "];
        NSArray *newNameArray [[nameArray subarrayWithRange:NSMakeRange(0, [nameArray size]-2)] arrayByAddingObjectsFromArray:[NSArray arrayWithObjects:newName, nil]];
        self.name = [newNameArray componentsJoinedByString:@" "];
    }
@end
代码中假设name已经存在,并且有两部分(比如像Bill Gates这样,而不是Gates这种)

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧